文章目录
- 一、命令介绍
- 二、语法格式
- 三、常用选项
- 四、参考示例
- (一)显示工作目录下(当前目录)所有的文件和目录
- (二)显示工作目录下所有的文件和目录
- (三)显示文件的详细信息,且显示文件的修改时间,按文件名排序
- (四)显示文件的详细信息,且显示文件的修改时间,且根据修改时间来排序
- (五)显示工作目录下(当前目录)所有的文件和目录,但是不排序
- (六)根据文件类型显示颜色
- (七)显示工作目录下的文件及目录的详细信息,且完整显示文件的修改时间
- (八)显示当前目录下的文件及子目录的详细信息,且按文件创建时间倒序排列(即最早创建的文件排在前面)
- (九)显示当前目录的文件和子目录,并显示文件的块大小
- (十)显示当前目录的文件和子目录,并按文件大小排序
- (十一)显示当前目录的文件和子目录,并按文件大小排序,且横向罗列展示
- (十二)分别使用
-p
和-F
选项显示当前目录下的文件和子目录,这两个选项会根据文件类型,给文件名末尾添加一个标识符 - (十三)递归显示指定目录下的内容
- (十四)
-b
和--show-control-chars
选项演示 - (十五)显示指定目录本身的信息
一、命令介绍
命令 ls
的英文名为 List
,即列表的意思。该命令用于列出目录和文件信息,和 Windows 系统下 DOS 命令 dir
类似。当执行 ls
命令时,默认显示的是非隐藏文件的文件名,且默认以文件名进行排序,且不同类型的文件名会按不同颜色显示。
二、语法格式
ls [选项] [参数]
参数:指定要显示内容的目录,也可以是具体的文件。
三、常用选项
选项 | 说明 |
---|---|
-a | --all 的缩写,显示所有的文件和目录,包括隐藏文件(以. 开头的文件) |
-A | --almost-all 的缩写,同-a ,但不包括表示当前目录. 和上级目录.. 这两个文件 |
-c | 显示文件 ctime,必须和 -l 结合起来使用,与 -lt 选项连用时,按照文件状态时间(ctime)排序输出目录内容,排序的依据是文件的索引节点中的 ctime 字段 |
-C | 多列显示输出结果。这是默认选项 |
-f | 直接列出结果,而不进行排序(ls默认会以文件名排序)。此选项的效果和同时指定 -aU 选项相同,并关闭 -lst 选项的效果 |
-F | --classify 的缩写,在每个输出项后追加文件的类型标识符,具体含义:* 表示可执行文件,/ 表示目录,@ 表示符号链接(symbolic link)文件,| 表示命令管道文件(FIFO文件),= 表示套接字文件(socket文件)。当文件为普通文件时,不输出任何标识符 |
-p | --file-type 的缩写,和-F 一样,但是经测试,仅目录会在后面追加类型标识符,其它文件类型则不会 |
--color[=WHEN] | 是否根据文件类型显示颜色,WHEN 可以为never 、always 或者auto ,此选项在Mac终端无效 |
--full-time | 显示文件的详细信息,且会完整显示文件的修改时间,类似于 ls -l --time-style=full-iso ,此选项在 Mac 终端无效 |
-l | 以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等 |
-n | 和-l 类似,只是显示的所属用户和组不是名称而是对应的ID。以用户识别码和群组识别码替代其名称 |
-r | --reverse 的缩写,将排序结果以倒序方式显示。以文件名反序排列并输出目录内容列表 |
-s | --size 的缩写,以块大小为单位列出所有文件和目录的大小 |
-S | 以文件大小排序 |
-m | 用逗号区隔每个文件和目录的名称,即所有项目以逗号分隔,并填满整行行宽 |
-t | 按文件和目录的修改时间(mtime)排序 |
-R | --recursive 的缩写,递归列出指定目录和子目录的内容 |
-b | 把文件名中不可输出的字符用反斜杠加字符编码的形式输出 |
-d | 显示目录,不是目录中的内容,仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表 |
-i | 显示文件索引节点号(inode)。一个索引节点代表一个文件 |
-k | 以KB(千字节)为单位显示文件大小 |
-L | 如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录 |
-h | 以人类可读的形式显示文件大小 |
四、参考示例
(一)显示工作目录下(当前目录)所有的文件和目录
[root@htlwk0001host liaowenxiong]# ls -a
. cptt hoshiicloud jewellerymall qcterp qpw thoughts yqd
.. fjrd hsb pronav qctos smzdc yb
[root@htlwk0001host liaowenxiong]#
(二)显示工作目录下所有的文件和目录
[root@htlwk0001host liaowenxiong]# ls -A
cptt hoshiicloud jewellerymall qcterp qpw thoughts yqd
fjrd hsb pronav qctos smzdc yb
[root@htlwk0001host liaowenxiong]#
(三)显示文件的详细信息,且显示文件的修改时间,按文件名排序
[root@htlwk0001host liaowenxiong]# ls -cl
总用量 52
drwxr-xr-x 7 root root 177 8月 25 11:20 cptt
drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd
drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud
drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb
drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall
drwxr-xr-x 7 root root 170 8月 25 14:42 pronav
drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp
drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos
drwxr-xr-x 4 root root 52 1月 9 23:13 qpw
drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc
drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts
drwxr-xr-x 7 root root 8192 8月 26 11:25 yb
drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd
[root@htlwk0001host liaowenxiong]# ls -c -l // 选项可以分开写
总用量 52
drwxr-xr-x 7 root root 177 8月 25 11:20 cptt
drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd
drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud
drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb
drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall
drwxr-xr-x 7 root root 170 8月 25 14:42 pronav
drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp
drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos
drwxr-xr-x 4 root root 52 1月 9 23:13 qpw
drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc
drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts
drwxr-xr-x 7 root root 8192 8月 26 11:25 yb
drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd
[root@htlwk0001host liaowenxiong]#
(四)显示文件的详细信息,且显示文件的修改时间,且根据修改时间来排序
[root@htlwk0001host liaowenxiong]# ls -clt
总用量 52
drwxr-xr-x 4 root root 52 1月 9 23:13 qpw
drwxr-xr-x 7 root root 112 8月 26 16:00 thoughts
drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd
drwxr-xr-x 7 root root 8192 8月 26 11:25 yb
drwxr-xr-x 7 root root 95 8月 26 11:17 smzdc
drwxr-xr-x 6 root root 92 8月 26 10:47 fjrd
drwxr-xr-x 7 root root 4096 8月 25 16:51 qctos
drwxr-xr-x 7 root root 20480 8月 25 16:09 qcterp
drwxr-xr-x 7 root root 170 8月 25 14:42 pronav
drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall
drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb
drwxr-xr-x 14 root root 233 8月 25 13:03 hoshiicloud
drwxr-xr-x 7 root root 177 8月 25 11:20 cptt
[root@htlwk0001host liaowenxiong]#
叨叨:命令就是这么奇葩,-cl仅仅显示文件修改时间但是不会按修改时间排序,-clt才会按修改时间排序
(五)显示工作目录下(当前目录)所有的文件和目录,但是不排序
叨叨:不指定--color
,默认是不会根据文件类型来显示颜色的
(六)根据文件类型显示颜色
[root@htlwk0001host home]# ls --color=never
dev wwwroot
[root@htlwk0001host home]# ls --color=always
dev wwwroot
[root@htlwk0001host home]#
(七)显示工作目录下的文件及目录的详细信息,且完整显示文件的修改时间
[root@htlwk0001host liaowenxiong]# ls --full-time
总用量 52
drwxr-xr-x 7 root root 177 2020-08-25 11:20:08.357839752 +0800 cptt
drwxr-xr-x 6 root root 92 2020-08-26 10:47:58.857910245 +0800 fjrd
drwxr-xr-x 14 root root 233 2020-08-25 13:03:29.260491980 +0800 hoshiicloud[root@htlwk0001host liaowenxiong]# ls -l --time-style=full-iso
总用量 52
drwxr-xr-x 7 root root 177 2020-08-25 11:20:08.357839752 +0800 cptt
drwxr-xr-x 6 root root 92 2020-08-26 10:47:58.857910245 +0800 fjrd
drwxr-xr-x 14 root root 233 2020-08-25 13:03:29.260491980 +0800 hoshiicloud[root@htlwk0001host liaowenxiong]#
(八)显示当前目录下的文件及子目录的详细信息,且按文件创建时间倒序排列(即最早创建的文件排在前面)
[root@htlwk0001host liaowenxiong]# ls -tlr
总用量 52
drwxr-xr-x 7 root root 177 8月 25 11:20 cptt
drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb
drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall
drwxr-xr-x 7 root root 170 8月 25 14:42 pronav
drwxr-xr-x 7 root root 112 8月 26 15:51 thoughts
drwxr-xr-x 2 root root 6 2月 6 13:29 test11
drwxr-xr-x 2 root root 6 2月 6 13:30 test2[root@htlwk0001host liaowenxiong]# ls -tl --reverse
总用量 52
drwxr-xr-x 7 root root 177 8月 25 11:20 cptt
drwxr-xr-x 7 root root 4096 8月 25 13:47 hsb
drwxr-xr-x 6 root root 118 8月 25 13:58 jewellerymall
drwxr-xr-x 7 root root 4096 8月 26 11:30 yqd
drwxr-xr-x 7 root root 112 8月 26 15:51 thoughts
drwxr-xr-x 2 root root 6 2月 6 13:29 test11
drwxr-xr-x 2 root root 6 2月 6 13:30 test2[root@htlwk0001host cptt]# ls -ltr i* // 列出工作目录下所有名称以i开头的文件和目录,注意找到目录,还会把目录内的内容展示出来
-rw-r--r-- 1 root root 51897 9月 19 2019 index.htmlimages:
总用量 0
drwxr-xr-x 2 root root 111 8月 25 11:19 首页
drwxr-xr-x 2 root root 118 8月 25 11:19 文章详情
drwxr-xr-x 2 root root 269 8月 25 11:19 发布文章
drwxr-xr-x 2 root root 6 8月 25 11:19 文章详情_原创
[root@htlwk0001host cptt]#
(九)显示当前目录的文件和子目录,并显示文件的块大小
[root@htlwk0001host liaowenxiong]# ls -s
总用量 520 cptt 8 hsb 24 qcterp 0 smzdc 0 thoughts0 fjrd 0 jewellerymall 4 qctos 0 test11 12 yb0 hoshiicloud 0 pronav 0 qpw 0 test2 4 yqd
[root@htlwk0001host liaowenxiong]#
知识点:
假设每一个block仅能容纳一个文件, 如果块大小为4K, 而文件只有1K,则会有3K的空间被浪费,而total(总用量)记录的是4K的容量,所以total里面计算的是第一列
(十)显示当前目录的文件和子目录,并按文件大小排序
[root@htlwk0001host liaowenxiong]# ls -S
qcterp hsb yqd cptt jewellerymall smzdc qpw test2
yb qctos hoshiicloud pronav thoughts fjrd test11
[root@htlwk0001host liaowenxiong]#
(十一)显示当前目录的文件和子目录,并按文件大小排序,且横向罗列展示
[root@htlwk0001host liaowenxiong]# ls -S -m
qcterp, yb, hsb, qctos, yqd, hoshiicloud, cptt, pronav, jewellerymall, thoughts,
smzdc, fjrd, qpw, test11, test2
[root@htlwk0001host liaowenxiong]#
叨叨:示例10你知道最大的文件是qcterp,那其次呢?你不会知道吧!在示例11中,你只要从左至右看就知道了,最大的是qcterp,其次yb,再次hsb…
(十二)分别使用-p
和-F
选项显示当前目录下的文件和子目录,这两个选项会根据文件类型,给文件名末尾添加一个标识符
(十三)递归显示指定目录下的内容
liaowenxiong@liaowenxiongdeMacBook-Air Demo % ls -R
Demo02DataType.class DemoFor.class
Demo02DataType.java DemoFor.java
Demo03DataTypeChar.class file1
Demo03DataTypeChar.java./file1:
file2./file1/file2:
liaowenxiong@liaowenxiongdeMacBook-Air Demo %
叨叨:如上面的执行结果可知,Demo下子目录file1,file1的子目录file2的内容也都显示出来了
(十四)-b
和–show-control-chars
选项演示
下面通过创建两个含不可显示字符\001
和\n
的文件名,来展示-b
和–show-control-chars
选项的区别。
[root@aiezu.com mm]# touch "`echo -e "aiezu.com\001.txt"`"[root@aiezu.com mm]# touch "`echo -e "aiezu\n.com.txt"`"[root@aiezu.com mm]# ls
aiezu.com?.txt aiezu?.com.txt[root@aiezu mm]# ls -b
aiezu.com\001.txt aiezu\n.com.txt[root@aiezu.com mm]# ls --show-control-chars
aiezu.com.txt aiezu
.com.txt
(十五)显示指定目录本身的信息
注意:命令 ls
带不带选项 -a
或 -l
,指定的目录或者文件路径是不是以 /
结尾,命令执行结果是有区别。
[root@htlwk0001host home]# ls -d /Users // 就仅显示目录名称
/Users
[root@htlwk0001host home]# ls -d // 显示当前目录
.
[root@htlwk0001host home]# ls -ld // 显示当前目录的详细信息
drwxr-xr-x+ 56 liaowenxiong staff 1792 2 6 19:31 .
加上选项 -l
,得到的结果:
[root@htlwk0001host home]# ls -al /bin
lrwxrwxrwx. 1 root root 7 5月 11 2019 /bin -> usr/bin
不加选项 -l
,得到的结果:
[root@htlwk0001host home]# ls -a /bin. du jconsole nl-addr-delete rpm2archive sync.. dumpkeys jcontrol nl-addr-list rpm2cpio systemctl
没有以 /
结尾,得到的结果:
[root@htlwk0001host home]# ls -l /bin
lrwxrwxrwx. 1 root root 7 5月 11 2019 /bin -> usr/bin
以 /
结尾,得到的结果:
[root@htlwk0001host home]# ls -l /bin/
总用量 345548
-rwxr-xr-x 1 root root 55048 6月 10 2020 '['
lrwxrwxrwx 1 root root 8 4月 16 2020 2to3 -> 2to3-3.6
-rwxr-xr-x 1 root root 106 4月 16 2020 2to3-3.6
-rwxr-xr-x 1 root root 58456 6月 9 2020 ab
-rwxr-xr-x. 1 root root 33864 5月 11 2019 ac