目录
一、查看当前工作目录-pwd
显示当前所在目录的完整路径
[root@localhost ~]# pwd
/root
二、切换目录-cd
切换工作目录
cd ###目标位置
cd ~/cd ###若不指目标位置,切换到当前用户的宿主目录(家目录)
cd- ###切换到之前的目录(上一次执行cd命令之前所在目录)
绝对路径:以根目录为起点的路径,“/”为默认的根目录
相对路径:以当前的所在目录为起点(直接输入目录名方可完成切换)
相对路径的表现形式
表现形式 | 说明 | 示例 |
直接使用目录名或文件名 | 表示当前工作目录中的子目录、文件的位置 | grub.conf |
以一个点号“.”开头 | 表示当前的工作目录作为起点 | ./grub.conf |
以两个点号“..”开头 | 表示当前的目录的上一级目录(父目录)作为起点 | ../vmlinuz |
以“~用户名”形式开头 | 表示以指定用户的宿主目录作为起点 | ~teacher |
以“~”形式开头 | 表示以当前用户的宿主目录作为起点 | ~ |
三、列表显示目录内容-ls
显示目录中内容,包括子目录和文件相关的属性信息
ls [选项] [文件或目录...]
常用选项
- -l、-a、-A、-d、-h、-R、-color
-l:以长格式(Long)显示文件和目录的列表,包括权限、大小、最后更新时间等 详细信息。不使用-l 选项时,ls 命令默认以短格式显示目录名或文件名信息。
-a:显示所有(All)子目录和文件的信息,包括名称以点号“.”开头的隐藏目录和隐藏文件。
-A:与-a 选项的作用基本类似,但有两个特殊隐藏目录不会显示,即表示当前目录的“.”和表示父目录的“..”。
-d:显示目录(Directory)本身的属性,而不是显示目录中的内容。
-h:以更人性化(Human)的方式显示目录或文件的大小,默认的大小单位为字节(B),使用 -h 选项后将显示为 KB、MB 等单位。此选项需要结合 -l 选项一起使用。
-R:以递归(Recursive)的方式显示指定目录及其子目录中的所有内容。
-color:在字符模式中以颜色区分不同的文件,如果使用“--color=tty”,则表示使用终端预定义的颜色方案。
通常情况下,深蓝色表示目录,白色表示一般文件,绿色表示可执行的文件,黄色表示设备文件,红色表示压缩文件,天蓝色表示超链接。
执行不带任何选项、参数的 ls 命令,可显示当前目录中包含的子目录、文件列表信息
-i:显示文件和目录的inode号。
-t:以时间排序,最新的文件会排在上i面。
-r:表示反向排序、倒序输出
(不包括隐藏目录、文件),如以下操作:
[root@localhost grub]# ls
执行“ls -ld”命令可以只显示当前目录的详细属性,而不显示目录下的内容,如以下操作:
[root@localhost grub]# ls -ld
使用 ls 命令时,还可以结合通配符“?”或“”以提高命令编写效率。其中,问号“?”可以匹配文件名中的一个未知字符,而星号“”可以匹配文件名中的任意多个字符。这两个通配符同样也适用于 Shell 环境中的其他命令。
例如,以下操作将以长格式列出/etc/目录下以“ns” 开头、“.conf”结尾的文件信息。
[root@localhost grub]# ls -l
-rw-r--r--. 1 root root 1.7K 9 月 16 2019 /etc/nsswitch.conf
用ls -l命令查看某一个目录会得到一个7个字段的列表-rw-r--r--. 1 root root 1350 11月 16 2011 splash.xpm.gz
Ls的字段部分
第1字段:文件属性字符
第一个字符代表文件的类型:"-"表示该文件是一个普通文件"d”表示该文件是一个目录,"l"表示该文件是一个软链接文件。
类似于windows下的快捷方式第1字符的后面9个字母表示该文件或目录的权限位: r表示读(查看、下载)、w表示写(添加、更改、删除、上传)、x表示执行(运行文件、切换目录)
其中前三个表示文件拥有者(属主)的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。
第2字段:文件硬链接数
如果一个文件不是目录,此时这一字段表示这个文件所具有的硬链接数如果是一个目录,则第2字段表示该目录所含子目录的个数。
如果新建一个空目录,这个目录的第二字段就是2,表示该目录下有两个子目录。
第3字段:文件\目录拥有者
第4字段:文件\目录拥有者所在的组
第5字段:文件所占用的空间(默认以字节为单位)
如果是一个目录,则表示该目录的大小,而不是目录以及它下面的文件的总大小。Linux系统中一切皆文件,因此目录也是一种文件。
第6字段:文件\目录最近访问或修改时间
第7字段:文件名
注:如果是一个符号链接(软链接文件),那么会有一个"->”箭头符号,后面根一个它指向的文件名
结合通配符
- “?” 代表任意一个字符,有且一个字符
- “*” 代表任意数字字符,可以是0个或者1个或者多个
- “【】” 代表可以匹配字符组中的任意一个字符【abc】、[a-f]
四、设置别名 -alias
- 通过别名机制简化常用的比较长的命令
alias 命令别名 = '命令' "=" 两边不能有空格
示例:
设置myls为ls-alh 的别名
alias myls = 'ls -alh ' ### 别名是 myls
取消别名
unalias 命令别名
五、统计目录及文件空间占用情况 -du
du 【选项】 【文件或目录】
常用选项
选项 | 说明 |
-a | 统计磁盘空间时包含所有的文件,而不仅仅只统计目录 |
-h | 以更人性化的方式,(默认以KB计数,但不显示单位)显示出统计结果 |
-s | 只统计所占用空间总的大小,而不是统计每个目录,文件的大小 |
-max-depth=n | 统计所有小于等于第n层的目录的总大小,n通常为1 |
统计出/var/log目录中子目录的大小
du -h --max - depth = 1 / var/log/
六、创建新的目录-mkdir
创建新的空目录
mkdir [选项] 目录位置及名称 可一次性创多个目录
示例
- 在当前目录下创建名为public_html的子目录 ###mkdir public_html
[root@localhost opt]# mkdir 1
- 创建目录/aa,在/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc ###mkdir -p /aa/bb/cc
示例
[root@localhost opt]# mkdir aa/bb/cc/dd -p ###-p:一次性创建嵌套的多层目录
七、创建空文件的命令 -touch
更新文件的时间标记;经常用于创建多个新的空文件/touch 文件
示例
root@localhost opt]# touch abs
八、创建链接文件 -In
In命令:用于为文件或目录建立链接文件(类似于 Windows 系统中的快捷方式),提高用户定位文件或定位目录的效率。
链接文件类型
- 软链接(=符号链接)
- 硬链接(与源文件共享数据)
软链接与硬链接的区别
- 删除原始文件后,软链接将失效,但硬链接仍然可用。
- 软链接适用于文件或目录,但硬链接只可用于文件,不能为目录建立硬链接。
- 软链接与原始文件可以位于不同的文件系统中,但硬链接必须与原始文件在同一个文件系统(如一个Linux 分区)内。
使用 ln 命令时,默认创建的是硬链接。如果需要创建软链接,必须结合“-s”选项明确指定。
示例:
ln [-s] 源文件或目录… 链接文件或目标位置
当目标位置是一个已经存在的目录时,新创建的链接文件将保存到该目录中,并使用与 源文件或目录相同的名称。
示例
[root@localhost opt]# ln -s abc.txt link3.txt
当软链接的文件或者路径发生更改的时候,软链接会发生失效,在这种情况下,创建软链接用绝对路径,这样,文件或者路径发生变更的时候软链接依然有效。
[root@localhost opt]# ln -s /opt/abc.txt link4.txt