Is命令可以理解为英文单词list的缩写,其功能是列出目录的内容及其内容属性信息(list directory contents)。该命令有点类似于DOS系统下的dir命令,有趣的是,Linux下其实也有dir命令,但我们更习惯于使用Is。

语法

1
ls [option] [file]

参数

选项 解释说明
-l 使用长格式,信息比较完整
-a 显示目录下所有文件,包括隐藏文件
-t 根据最后修改时间(mtime排序)
-r 倒序
-h 文件或目录大小用人类可读的格式展示
-S 根据文件大小排序
-R 递归列出所有目录
-F 在后面加上文件类型指示符号 * 代表普通可执行文件 /代表目录 =代表套接字 @代表符号链接 | 代表FIFO(命名管道?)
-p 只在目录后面加上”/“
-i 显示inode节点信息

示例

个人最常用参数组合

1
ls -lhaF

列出当前目录t开头文件或目录

1
ls -l t*

按大小排序

1
ls -lhrS

结果解读

ls的命令使用相当简单,加上-l参数的输出结果却不见得每个人都看得懂

1
2
3
4
5
6
7
8
9
10
[root@master193 ~]# ls -lhi
总用量 713M
809109365 -rw-r--r-- 1 root root 172K 3月 29 2022 1
805306461 -rw-------. 1 root root 2.4K 3月 22 2022 anaconda-ks.cfg
805311837 drwxr-xr-x 4 root root 148 12月 14 2022 cilium
537396969 -rw-r--r-- 1 root root 67K 12月 14 2022 cilium-1.11.1.tgz
808332893 -rw-r--r-- 1 root root 72 7月 6 11:25 credentials.yaml
805314950 -rw-r--r-- 1 root root 24 5月 25 13:26 data.csv
2077457 drwxr-xr-x 2 root root 32 8月 22 13:46 doris
805945591 drwxr-xr-x 2 root root 72 10月 23 14:22 dragonfly

上述命令结果中各列的含义具体如下。
第一列:inode索引节点编号。
第二列:文件类型及权限(第一个字符为类型,后9个字符为文件权限符号)。
第三列:硬链接个数(详细请参看In命令的讲解)。
第四列:文件或目录所属的用户(属主)。
第五列:文件或目录所属的组。
第六列:文件或目录的大小。
第七、八、九列:文件或目录的修改时间。
第十列:实际的文件名或目录名。