Linux目录查看命令ls
ls
命令,全称为 list
,可以用来查看指定目录中的内容,包括文件和子目录,默认查看的是当前目录。
语法选项
命令语法如下:
1 | ls [OPTION]... [FILE]... |
OPTION
表示指定的命令选项,FILE
表示要查看的文件或目录。要记录一点,在 Linux 中一切皆文件,目录也是一种特殊的文件。
常用的命令选项,总结如下
-a
显示点.
开头的所有隐藏文件和目录-l
使用长格式显示文件或目录的详细信息-t
以时间排序,而不是按默认的文件名称排序-R
递归显示所有文件和子目录-r
将排序结果按照相反的顺序显示出来-F
在文件或目录后面加上文件类型标识符号,在不能显示颜色的终端上很有用-d
显示目录本身的信息,而不是目录中的文件或子目录-h
以易读的 K、M、G 单位来显示文件或目录大小,而不是默认的字节-i
显示文件的inode
信息-S
按照文件大小排序-1
每行显示一个文件或目录--color
设置终端是否显示颜色,可设置的值:never
、auto
、always
上边只罗列了 ls
命令中常用的选项,基本可以满足大部分日常工作需求。如上述选项不能够满足需求,可以自己 man ls
查看手册详情。
用法示例
1. 不加任何选项
ls
命令不加任何选项时,只显示文件或目录的名称,默认按照文件名称字母顺序进行排序的。
2. 显示文件目录详细信息
使用 -l
选项,可以显示文件或目录的详细信息
1 | -rw-r--r-- 1 root root 3087 Jun 9 01:19 _config.yml |
- 第 1 列,表示文件或目录的权限
- 第 2 列,对于文件来说表示硬链接个数,对于目录来说表示有多少个子目录
- 第 3 列,表示该文件或目录的属主,属于哪个用户;
- 第 4 列,表示该文件或目录的属组,属于哪个用户组;
- 第 5 列,表示文件的大小,默认使用字节数表示
- 第 6 列,文件的修改时间
- 第 7 列,文件或目录名称
3. 显示隐藏的文件目录
在 Linux 中,以 . 开头的文件或目录,默认是隐藏看不到的,可以通过 -a
选项显示隐藏文件目录
1 | $ ls |
加了 -a
选项后,就显示出来了 .test
、.world.txt
隐藏文件目录
4. 查看目录本身的详细信息
通常情况下,通过 ls
命令看到的是目录内容,也就是目录中的文件或子目录,如果想看目录本身的详细信息,可以通过 -d
选项实现
1 | $ ls -l test |
通过上述可以看到,不加 -d
选项时显示目录中的文件和子目录,加上 -d
选项时显示的是目录本身的详细信息
5. 以易读方式显示文件大小
默认 ls
显示文件大小的单位为字节,如果文件较大,字节显示就很不友好。通过指定 -h
选项,就能够以更易懂、更友好的方式进行显示。命令会根据文件的大小以最合适的单位进行显式,支持 K、M、G、T 等单位
1 | $ ls -l |
可以看到,指定了 -h
选项后,db.json
文件就显示为 81K
显得更加友好
6. 按照文件时间排序显示
默认是按照文件名称进行显示,有时候我们希望按照时间先后进行排序,可以指定 -t
选项
1 | $ ls -lt |
7. 按照文件大小排序显示
有时希望查看某目录下文件有哪些大文件,可以按照文件大小进行排序,就一目了然,通过指定 -S
选项
1 | $ ls -lS |
8. 按照反向进行排序显示
如果希望按照文件从小到大,或者按照时间从旧到新就行排序,可以通过指定 -r
选项进行反序
1 | # 按照时间从旧到新的顺序 |
9. 递归显示目录内容
默认情况下,ls
会显示目录中的文件和子目录,如果希望继续显示子目录中的内容,可以通过指定 -R
选项
1 | $ ls -lR |
10. 显示文件的 inode 号
有时可能需要查看文件的 inode 信息,你可能会有疑问,查看 inode 有什么用?这里列举一个非常典型的应用场景。
1 | $ ls -i |
要删除一个名称乱码的文件,通过手工没法输入,有时又不能通过终端准确复制该文件的名称通过 rm 直接删除,就可以通过上述方式:先查看到该文件的 inode 号,再借助于 find
命令查找 inode 进行了删除。
11. 设置显示颜色
在有的系统上,通过终端输入 ls
命令后,不能正确显示颜色高亮,可以通过 --color
选项进行设置
1 | $ ls --color=always |