ls是最常被使用到的Linux命令之一,来自于英文单词list的缩写,也正如list单词的英文意思,其功能是列举出指定目录下的文件名称及其属性。
默认不加参数的情况下,ls命令会列出当前工作目录中的文件信息,经常与cd和pwd命令搭配使用,十分方便。而带上参数后,我们则可以做更多的事情,作为最基础、最频繁使用的命令,有必要仔细了解下其常用功能。
1、功能说明
列出目录的内容及其内容属性信息
2、语法格式
ls [选项][文件或目录]
3、选项解释
-a 显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l 使用长格式列出文件及目录的详细信息
-r 将文件以相反次序显示(默认依英文字母次序)
-t 根据最后的修改时间排序 默认以文件名排序
-d 查看目录的信息,而不是里面子文件的信息
-i 输出文件的inode节点信息
-m 水平列出文件,以逗号间隔
-F 在条目后加上文件类型的指示符号
-A 同 -a ,但不列出 “.” (当前目录) 及 “..” (父目录)
-S 根据文件大小排序
-R 递归列出所有子目录
-X 按文件扩展名排序
-c 根据状态改变时间排序 ctime
-u 根据最后访问时间排序 atime
--color 输出信息中带有着色效果 参数值 never表示不显示 always=表示总是显示 auto表示自动显示
--full-time 以完整的时间格式输出
--time-style 以不同的时间格式输出 参数值 full-iso long-iso iso locate
--time 按不同的时间属性输出,atime表示按访问时间 ctime表示按改变权限属性时间 默认是最后修改时间
4、参考实例
- 输出当前目录中的文件(默认不含隐藏文件)
[root@xiaonong ~]$ ls
js.sh redis_data.sh setup.sh
- 输出当前目录中的文件(含隐藏文件)
[root@xiaonong ~]$ ls -a
. .. .bash_history .bash_logout .bash_profile .bashrc js.sh redis_data.sh setup.sh .ssh
- 列出当前目录可见文件详细信息
[root@xiaonong ~]$ ls -l
总用量 12
-rwxr--r-- 1 xuzhen web 44 6月 18 2021 js.sh
-rwxr--r-- 1 root root 272 11月 25 2021 redis_data.sh
-rwxr--r-- 1 xuzhen web 420 6月 27 11:39 setup.sh
- 显示完整时间属性的参数
[root@xiaonong] ls -l --time-style=long-iso
总用量 12
-rwxr--r-- 1 xuzhen web 44 2021-06-18 18:15 js.sh
-rwxr--r-- 1 root root 272 2021-11-25 17:37 redis_data.sh
-rwxr--r-- 1 xuzhen web 420 2022-06-27 11:39 setup.sh
- 列出所有文件(包括隐藏)的详细信息
[root@xiaonong ~]$ ls -al
总用量 56
drwx------ 3 xuzhen web 4096 6月 27 11:39 .
drwxr-xr-x. 13 root root 4096 7月 25 12:05 ..
-rw------- 1 xuzhen web 5170 9月 28 19:17 .bash_history
-rw------- 1 xuzhen web 18 5月 27 2020 .bash_logout
-rw------- 1 xuzhen web 193 5月 27 2020 .bash_profile
-rw------- 1 xuzhen web 4580 6月 24 17:07 .bashrc
-rwxr--r-- 1 xuzhen web 44 6月 18 2021 js.sh
-rwxr--r-- 1 root root 272 11月 25 2021 redis_data.sh
-rwxr--r-- 1 xuzhen web 420 6月 27 11:39 setup.sh
drwx------ 2 xuzhen web 4096 6月 17 2021 .ssh
- 输出指定目录中的文件列表
[root@xiaonong ~]$ ls /etc
adjtime dbus-1 grub.d
aerospike default gshadow
...
- 输出文件名称及inode属性块号码
[root@xiaonong ~]$ ls -i
1051586 js.sh 1072087 redis_data.sh 1074613 setup.sh
- 依据文件大小进行排序,输出指定目录中文件属性详情信息
[root@xiaonong ~]$ ls -Sl /etc
总用量 1732
-rw-r--r-- 1 root root 670293 6月 7 2013 services
-rw-r--r-- 1 root root 64959 4月 26 19:32 php.ini
...
- 水平输出文件列表
[root@xiaonong ~]$ ls -m
js.sh, redis_data.sh, setup.sh
- 根据最后的修改时间排序
[root@xiaonong ~]$ ls -t
setup.sh redis_data.sh js.sh
- 显示当前目录的递归文件
[root@xiaonong ~]$ ls -R
.:
js.sh redis_data.sh setup.sh
- 显示文件夹信息
[root@xiaonong ~]$ ls -ld
drwx------ 3 xuzhen web 4096 6月 27 11:39 .
- 按时间列出文件和文件夹详细信息
[root@xiaonong ~]$ ls -lt
总用量 12
-rwxr--r-- 1 xuzhen web 420 6月 27 11:39 setup.sh
-rwxr--r-- 1 root root 272 11月 25 2021 redis_data.sh
-rwxr--r-- 1 xuzhen web 44 6月 18 2021 js.sh
- 按修改时间列出文件和文件夹详细信息
[root@xiaonong ~]$ ls -ltr
总用量 12
-rwxr--r-- 1 xuzhen web 44 6月 18 2021 js.sh
-rwxr--r-- 1 root root 272 11月 25 2021 redis_data.sh
-rwxr--r-- 1 xuzhen web 420 6月 27 11:39 setup.sh
- 在条目后加上文件类型的指示符号,并过滤目录
[root@xiaonong ~]$ ls -F
js.sh* redis_data.sh* setup.sh*
[root@xiaonong ~]$ ls -F|grep -v /
js.sh*
redis_data.sh*
setup.sh*
- 列出文件并标记颜色分类
[root@xiaonong ~]$ ls --color=auto