Linux 命令之 ls -- 列出指定目录下的内容

一、命令介绍

命令 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可以为neveralways或者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 825 11:20 cptt
drwxr-xr-x  6 root root    92 826 10:47 fjrd
drwxr-xr-x 14 root root   233 825 13:03 hoshiicloud
drwxr-xr-x  7 root root  4096 825 13:47 hsb
drwxr-xr-x  6 root root   118 825 13:58 jewellerymall
drwxr-xr-x  7 root root   170 825 14:42 pronav
drwxr-xr-x  7 root root 20480 825 16:09 qcterp
drwxr-xr-x  7 root root  4096 825 16:51 qctos
drwxr-xr-x  4 root root    52 19 23:13 qpw
drwxr-xr-x  7 root root    95 826 11:17 smzdc
drwxr-xr-x  7 root root   112 826 16:00 thoughts
drwxr-xr-x  7 root root  8192 826 11:25 yb
drwxr-xr-x  7 root root  4096 826 11:30 yqd
[root@htlwk0001host liaowenxiong]# ls -c -l  // 选项可以分开写
总用量 52
drwxr-xr-x  7 root root   177 825 11:20 cptt
drwxr-xr-x  6 root root    92 826 10:47 fjrd
drwxr-xr-x 14 root root   233 825 13:03 hoshiicloud
drwxr-xr-x  7 root root  4096 825 13:47 hsb
drwxr-xr-x  6 root root   118 825 13:58 jewellerymall
drwxr-xr-x  7 root root   170 825 14:42 pronav
drwxr-xr-x  7 root root 20480 825 16:09 qcterp
drwxr-xr-x  7 root root  4096 825 16:51 qctos
drwxr-xr-x  4 root root    52 19 23:13 qpw
drwxr-xr-x  7 root root    95 826 11:17 smzdc
drwxr-xr-x  7 root root   112 826 16:00 thoughts
drwxr-xr-x  7 root root  8192 826 11:25 yb
drwxr-xr-x  7 root root  4096 826 11:30 yqd
[root@htlwk0001host liaowenxiong]# 

(四)显示文件的详细信息,且显示文件的修改时间,且根据修改时间来排序

[root@htlwk0001host liaowenxiong]# ls -clt
总用量 52
drwxr-xr-x  4 root root    52 19 23:13 qpw
drwxr-xr-x  7 root root   112 826 16:00 thoughts
drwxr-xr-x  7 root root  4096 826 11:30 yqd
drwxr-xr-x  7 root root  8192 826 11:25 yb
drwxr-xr-x  7 root root    95 826 11:17 smzdc
drwxr-xr-x  6 root root    92 826 10:47 fjrd
drwxr-xr-x  7 root root  4096 825 16:51 qctos
drwxr-xr-x  7 root root 20480 825 16:09 qcterp
drwxr-xr-x  7 root root   170 825 14:42 pronav
drwxr-xr-x  6 root root   118 825 13:58 jewellerymall
drwxr-xr-x  7 root root  4096 825 13:47 hsb
drwxr-xr-x 14 root root   233 825 13:03 hoshiicloud
drwxr-xr-x  7 root root   177 825 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 825 11:20 cptt
drwxr-xr-x  7 root root  4096 825 13:47 hsb
drwxr-xr-x  6 root root   118 825 13:58 jewellerymall
drwxr-xr-x  7 root root   170 825 14:42 pronav
drwxr-xr-x  7 root root   112 826 15:51 thoughts
drwxr-xr-x  2 root root     6 26 13:29 test11
drwxr-xr-x  2 root root     6 26 13:30 test2

[root@htlwk0001host liaowenxiong]# ls -tl --reverse
总用量 52
drwxr-xr-x  7 root root   177 825 11:20 cptt
drwxr-xr-x  7 root root  4096 825 13:47 hsb
drwxr-xr-x  6 root root   118 825 13:58 jewellerymall
drwxr-xr-x  7 root root  4096 826 11:30 yqd
drwxr-xr-x  7 root root   112 826 15:51 thoughts
drwxr-xr-x  2 root root     6 26 13:29 test11
drwxr-xr-x  2 root root     6 26 13:30 test2

[root@htlwk0001host cptt]# ls -ltr i*  // 列出工作目录下所有名称以i开头的文件和目录,注意找到目录,还会把目录内的内容展示出来
-rw-r--r-- 1 root root 51897 919 2019 index.html

images:
总用量 0
drwxr-xr-x 2 root root 111 825 11:19 首页
drwxr-xr-x 2 root root 118 825 11:19 文章详情
drwxr-xr-x 2 root root 269 825 11:19 发布文章
drwxr-xr-x 2 root root   6 825 11:19 文章详情_原创
[root@htlwk0001host cptt]# 

(九)显示当前目录的文件和子目录,并显示文件的大小

[root@htlwk0001host liaowenxiong]# ls -s
总用量 52
 0 cptt          8 hsb            24 qcterp   0 smzdc    0 thoughts
 0 fjrd          0 jewellerymall   4 qctos    0 test11  12 yb
 0 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 511 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 511 2019 /bin -> usr/bin

/ 结尾,得到的结果:

[root@htlwk0001host home]# ls -l /bin/
总用量 345548
-rwxr-xr-x  1 root root       55048 610 2020 '['
lrwxrwxrwx  1 root root           8 416 2020  2to3 -> 2to3-3.6
-rwxr-xr-x  1 root root         106 416 2020  2to3-3.6
-rwxr-xr-x  1 root root       58456 69 2020  ab
-rwxr-xr-x. 1 root root       33864 511 2019  ac
  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ls命令Linux中最常用的命令之一。它的功能是列出指定目录下的内容及相关属性信息。根据提供的引用内容ls命令可以有多种用法。例如,可以使用"ls"命令列出当前目录内容;使用"ls -a"命令来显示包括隐藏文件在内的所有文件和目录;使用"ls -l"命令以长格式显示文件和目录的详细信息;使用"ls -r"命令按照相反的顺序显示文件;使用"ls -t"命令根据最后修改时间排序文件;使用"ls -R"命令递归列出所有子目录等等。此外,还可以将这些选项进行组合使用,以实现更精确的文件和目录列出。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Linux基础之命令ls】](https://blog.csdn.net/weixin_45571702/article/details/128915868)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Linux命令之 --- ls命令](https://blog.csdn.net/c_xiazai12345/article/details/115761065)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值