Linux的目录树结构
1.了解目录树结构和说明
目录 | 说明 | 备注 |
/root | 管理员root的家目录 | |
/home | 普通用户的默认家目录 | /home/test /home/haha |
/bin—>/usr/bin | 普通用户的命令 | /usr/bin/date /usr/bin/ls |
/sbin—>/usr/sbin | 管理员使用的命令 | /usr/sbin/shutdown |
/usr/local | 第三方源码包默认安装目录 | 类似windows下 C:\Program Files |
/etc | 系统和服务相关配置文件 | /etc/passwd |
/var | 动态,可以变化的数据文件 | 日志文件(/var/log/xxx) |
/tmp | 临时文件存放目录 | 全局可写(系统或程序产生临时文件) |
/dev | 设备文件 | /dev/sda /dev/nvme0n1 |
/lib—>/usr/lib | 库文件 | 软连接文件 |
/lib64—>/usr/lib64 | 库文件 | 软连接文件 |
/proc | 虚拟的文件系统 | 反映出来的是内核,进程信息或实时状态 |
/boot | 系统内核,引导程序相关文件 | |
/media | 移动设备默认的挂载点 | |
/mnt | 手工挂载设备的挂载点 |
2、理解文件路径表示方法
- 绝对路径
- 一定是以”/”(根)开头,它是唯一一个绝对能够描述文件所在路径的方式。
- “/” 根目录是linux操作系统最顶级的目录,没有任何路径比它还要靠前。
- 相对路径
- 路径是相对的,文件所在的路径是相对于当前所在路径而言的。
- 当前路径使用 .或./ 表示;当前目录的上一级目录使用 ..或../ 表示
- 当前用户家目录使用 ~ 表示;上次工作路径使用 – 表示
- 路径切换和查看的相关命令
命令 | 含义 | 使用方法 |
pwd | 查看当前工作路径 | pwd |
cd | 更改工作路径,切换路径(默认切换到当前用户家目录) | cd 新路径 |
- 举例说明
[root@plantwo ~]# pwd 打印当前工作路径
/root
[root@plantwo ~]# cd /home 切换到/home目录下
[root@plantwo home]# cd ../ 切换到当前路径的上一级目录
[root@plantwo /]# pwd
/
[root@plantwo /]# cd ~ 切换到当前用户家目录
[root@plantwo ~]# cd - 切换到上一次工作路径
/
[root@plantwo /]# cd 切换到当前用户家目录
[root@plantwo ~]# pwd
/root
Linux文件操作管理
- Linux命令说明
- 接下来所有的命令需要在一个载体上执行,这个载体就叫做终端。
- 终端上所有命令都需要一个东西翻译解析一下,计算机才能理解并执行。
- 这个翻译解析的东西叫SHELL解释器,RedHat和Centos默认shell解释器叫bash。
- 既然需要bash帮忙翻译解释相关命令,那么你所敲的命令必须符合它的语法,否则报错给你看。
命令 [可选项] 参数
[root@localhost ~]# ls -l /root
命令:整条shell命令的主体
选项:会影响或微调命令的行为,通常以-, --
参数:命令作用的对象
1、判断文件类型(file)
- 常见文件类型
文件类型 | 描述 |
字符设备(c) | 所有输入输出的设备,如:键盘、鼠标、显示器、打印机等 |
块设备(b) | 所有存储设备称之为块设备文件,如:软盘、磁盘、光盘、U盘、磁带、光驱等 |
软连接文件(l) | 类似于Windows下的快捷方式 |
目录文件(d) | 相当于Windows下的文件夹 |
普通文件(f或-) | 类似Windows下记事本、word等,可以使用相关命令进行编辑、查看文件内容 |
管道文件(p) | 简单理解为程序或进程之间通讯的一种方式 |
套接字文件(s) | 简单理解为程序或进程之间通讯的一种方式 |
- 用 file 命令来判断文件类型
[root@localhost ~]# file /root
/root: directory 目录
[root@localhost ~]# file /root/install.log
/root/install.log: ASCII text 普通的文本文件
[root@localhost ~]# file /dev/sda
/dev/sda: block special 块设备文件,存放数据
[root@localhost ~]# file /dev/tty1
/dev/tty1: character special 字符设备
[root@localhost ~]# file /bin/sh
/bin/sh: symbolic link to bash 软连接文件
2、列出目录内容(ls)
常见选项
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-h human,以人性化方式显示出来
-d 只列出目录名,不列出其他内容
-t 按修改时间排序
-r 逆序排列
-S 按文件的大小排序
-i 显示文件的inode号(索引号)
-R 递归列出目录中的内容
-m 用逗号分隔显示内容
示例:以不同的选项列出/root目录里的内容
[root@localhost ~]# ls -a /root
[root@localhost ~]# ls -l /root
[root@localhost ~]# ls -lh /root
[root@localhost ~]# ls -lt /root
[root@localhost ~]# ls -S /root
[root@localhost ~]# ls -R /root
[root@localhost ~]# ls -d /root 查看/root目录本身的信息
3、创建目录(mkdir)
常见选项
-p 级联创建
[root@localhost ~]# mkdir /test/ 在根下创建test目录
[root@localhost ~]# mkdir ./test/ 在当前目录下创建test目录
[root@localhost ~]# mkdir -p /test/yunwei/redhat
说明:
1.如果创建的目录的上一级目录不存在,就需要加-p参数;-p在前面和后面都可以
4、创建文件(touch)
5、查看文件内容
- cat 命令:一般查看小文件,从第一行到最后一行列出来
- 常见选项:
- -n:显示行号
- -A:显示控制字符,如换行符,制表符等( linux $ 和 Windows ^M$ )
- tac 命令:一般查看小文件,从最后一行到第一行列出来
- more和less 命令:一般查看大文件,q退出查看,可以搜索,建议less命令
- head 命令:默认查看文件前10行, head -n 15或head -15 表示查看前15行
- tail 命令:默认查看文件后10行, tail -n 15或tail -15 表示查看后15行; -f 表示动态查看
- ldd 命令:一般用来查看二进制的命令文件
[root@localhost tmp]# cat /etc/passwd 查看/etc/passwd文件内容
[root@localhost tmp]# cat -n /etc/passwd 查看/etc/passwd文件内容,并打印行号
[root@localhost tmp]# tac /etc/passwd 查看/etc/passwd文件内容
[root@localhost tmp]# head -5 /etc/passwd 查看/etc/passwd文件的前5行内容
[root@localhost tmp]# tail -5 /etc/passwd 查看/etc/passwd文件的后5行内容
[root@localhost tmp]# more /var/log/messages
[root@localhost tmp]# less /var/log/messages
[root@localhost tmp]# ldd /bin/mkdir 查看mkdir命令文件(二进制)的内容
6、拷贝文件(cp)
注意:本地文件拷贝
常用选项:
-a 递归拷贝文件,包括目录及文件属性信息
-r 拷贝目录
-p 拷贝文件包含文件的属性信息
-v 显示拷贝过程信息
用法:
cp 选项 需要拷贝的文件 拷贝到哪里去
# cp /root/file1 /home 拷贝/root/下的file1文件到/home目录下
# cp -r /home/itcast /root 拷贝/home/itcast目录到/root目录下
# su - user01 切换到user01用户下
$ touch file1
# cp -p /home/user01/file1 /tmp/ 拷贝home/user01/file1文件(包含属性信息)到/tmp下
# cp /root/file1 /tmp/test1 拷贝文件并且重命名
问:-a和-p有什么区别?
答:相同点都是需要拷贝文件的属性信息,比如拥有者(谁创建的等);不同点在于,-p只能拷贝文件,-a既可以拷贝文件
也可以拷贝目录。
7、移动或重命名文件(mv)
移动文件用法(不同路径下):
# mv 需要移动的文件 移动到新的路径下
注意:文件的路径不一样
重命名用法(相同路径下):
# mv 原来文件的名字 新文件的名字
注意:老文件和新文件的路径一样
# mv /root/file1 /tmp 移动/root/file1文件到/tmp目录下
# mv /tmp/file1 /tmp/test1 将/tmp目录下的file1文件重命名成test1
8、删除文件(rm)
常用选项
-r 递归删除,一般用于删除目录
-f 直接删除,不提示
[root@localhost tmp]# rm file1 删除当前目录下的file1文件,有提示
[root@localhost tmp]# rm -r dir1 删除当前目录下的dir1目录,有提示
[root@localhost tmp]# rm -f /root/file1 强制删除/root/file1文件,不提示,直接删
Linux下如何获得帮助
1.简约求帮助(help)
help命令:知道该命令的含义,相关参数不知道可以使用help。
- 1)内部命令
help 命令
- 2)外部命令
命令 –help
- 3)如何判断一个命令是内部还是外部
type 命令
内部命令:shell内置的命令,如:bash
外部命令:第三方程序,软件带来的命令
可不判断命令类型,直接 help 命令或命令 –help
cd –help
help cd
2.详细求帮助(man)
Bash的标准输入输出
1.名词解释
- 标准输入(stdin):键盘上的输入 文件描述符—>0
- 标准输出(stdout):屏幕上正确的输出 文件描述符—>1
- 标准错误(stderr):屏幕上错误的输出 文件描述符—>2
2.相关符号
- > :标准输出重定向,覆盖重定向, 1>或> 标准输出重定向, 2> 标准错误重定向
- >> :重定向追加, 1>> 标准输出追加, 2>> 标准错误追加
- < :标准输入
- &> :标准输出标准错误重定向
3.举例说明
补充:
1)追加方式为在重定向基础上再加一个 “>”,即”1>>”、“2>>”、“&>>”
2)将标准输出和标准错误一起重定向 并不进行显示错误信息的方式
./1.sh >/dev/null 2>&1 #注释:将标准输出和标准错误扔掉(放到空设备)
等于 ./1.sh &>/dev/null
a)/dev/null #Linux系统下特殊的设备文件,空设备,任何东西都可以放但看不见
b)./1.sh 、bash 1.sh 、sh 1.sh 命令功能相同,写法不同,权限方式不同
4.echo命令
# help echo
echo: echo [-neE] [参数 …]
将参数写到标准输出。
在标准输出上,显示用空格分割的 ARG 参数后跟一个换行。
选项:
-n不要追加换行
-e启用下列反斜杠转义的解释
-E显式地抑制对于反斜杠转义的解释
`echo’ 对下列反斜杠字符进行转义:
\a警告(响铃)
\b退格
\c抑制更多的输出
\e转义字符
\f换页字符
\n换行
\r回车
\t横向制表符
\v纵向制表符
\\反斜杠
\0nnn以 NNN (八进制)为 ASCII 码的字符。 NNN 可以是 0 到 3 个八进制位
\xHH以 HH (十六进制)为值的八按位字符。HH可以是一个或两个十六进制位
退出状态:
返回成功除非有写错误发生。
发表回复