您当前的位置: 首页 >  linux

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

liaowenxiong 发布时间:2021-04-19 11:00:00 ,浏览量:1

文章目录
  • 一、命令介绍
  • 二、语法格式
  • 三、常用选项
  • 四、参考示例
    • (一)显示工作目录下(当前目录)所有的文件和目录
    • (二)显示工作目录下所有的文件和目录
    • (三)显示文件的详细信息,且显示文件的修改时间,按文件名排序
    • (四)显示文件的详细信息,且显示文件的修改时间,且根据修改时间来排序
    • (五)显示工作目录下(当前目录)所有的文件和目录,但是不排序
    • (六)根据文件类型显示颜色
    • (七)显示工作目录下的文件及目录的详细信息,且完整显示文件的修改时间
    • (八)显示当前目录下的文件及子目录的详细信息,且按文件创建时间倒序排列(即最早创建的文件排在前面)
    • (九)显示当前目录的文件和子目录,并显示文件的块大小
    • (十)显示当前目录的文件和子目录,并按文件大小排序
    • (十一)显示当前目录的文件和子目录,并按文件大小排序,且横向罗列展示
    • (十二)分别使用-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可以为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 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.html

images:
总用量 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
总用量 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 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
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.1372s