Linux教程网

Linux目录查看命令ls

ls 命令,全称为 list,可以用来查看指定目录中的内容,包括文件和子目录,默认查看的是当前目录。

语法选项

命令语法如下:

1
ls [OPTION]... [FILE]...

OPTION 表示指定的命令选项,FILE 表示要查看的文件或目录。要记录一点,在 Linux 中一切皆文件,目录也是一种特殊的文件。

常用的命令选项,总结如下

  • -a 显示点 . 开头的所有隐藏文件和目录
  • -l 使用长格式显示文件或目录的详细信息
  • -t 以时间排序,而不是按默认的文件名称排序
  • -R 递归显示所有文件和子目录
  • -r 将排序结果按照相反的顺序显示出来
  • -F 在文件或目录后面加上文件类型标识符号,在不能显示颜色的终端上很有用
  • -d 显示目录本身的信息,而不是目录中的文件或子目录
  • -h 以易读的 KMG 单位来显示文件或目录大小,而不是默认的字节
  • -i 显示文件的 inode 信息
  • -S 按照文件大小排序
  • -1 每行显示一个文件或目录
  • --color 设置终端是否显示颜色,可设置的值:neverautoalways

上边只罗列了 ls 命令中常用的选项,基本可以满足大部分日常工作需求。如上述选项不能够满足需求,可以自己 man ls 查看手册详情。

用法示例

1. 不加任何选项

ls 命令不加任何选项时,只显示文件或目录的名称,默认按照文件名称字母顺序进行排序的。

2. 显示文件目录详细信息

使用 -l 选项,可以显示文件或目录的详细信息

1
2
-rw-r--r--   1 root root   3087 Jun  9 01:19 _config.yml
-rw-r--r-- 1 root root 82200 Jun 9 01:19 db.json
  • 第 1 列,表示文件或目录的权限
  • 第 2 列,对于文件来说表示硬链接个数,对于目录来说表示有多少个子目录
  • 第 3 列,表示该文件或目录的属主,属于哪个用户;
  • 第 4 列,表示该文件或目录的属组,属于哪个用户组;
  • 第 5 列,表示文件的大小,默认使用字节数表示
  • 第 6 列,文件的修改时间
  • 第 7 列,文件或目录名称

3. 显示隐藏的文件目录

在 Linux 中,以 . 开头的文件或目录,默认是隐藏看不到的,可以通过 -a 选项显示隐藏文件目录

1
2
3
4
$ ls
a.txt b.txt c.txt t
$ ls -a
. .. a.txt b.txt c.txt .hello.txt t .test .world.txt

加了 -a 选项后,就显示出来了 .test.world.txt 隐藏文件目录

4. 查看目录本身的详细信息

通常情况下,通过 ls 命令看到的是目录内容,也就是目录中的文件或子目录,如果想看目录本身的详细信息,可以通过 -d 选项实现

1
2
3
4
5
6
$ ls -l test
rw-r--r-- 1 root root 0 Jun 7 00:24 a.txt
-rwxr-xr-x 1 root root 0 Jun 7 00:33 b.txt
lrwxrwxrwx 1 root root 5 Jun 7 00:37 c.txt -> a.txt
$ ls -ld test
drwxr-xr-x 4 root root 4096 Jun 9 23:43 test

通过上述可以看到,不加 -d 选项时显示目录中的文件和子目录,加上 -d 选项时显示的是目录本身的详细信息

5. 以易读方式显示文件大小

默认 ls 显示文件大小的单位为字节,如果文件较大,字节显示就很不友好。通过指定 -h 选项,就能够以更易懂、更友好的方式进行显示。命令会根据文件的大小以最合适的单位进行显式,支持 K、M、G、T 等单位

1
2
3
4
$ ls -l
-rw-r--r-- 1 root root 82200 Jun 9 01:19 db.json
$ ls -lh
-rw-r--r-- 1 root root 81K Jun 9 01:19 db.json

可以看到,指定了 -h 选项后,db.json 文件就显示为 81K 显得更加友好

6. 按照文件时间排序显示

默认是按照文件名称进行显示,有时候我们希望按照时间先后进行排序,可以指定 -t 选项

1
$ ls -lt

7. 按照文件大小排序显示

有时希望查看某目录下文件有哪些大文件,可以按照文件大小进行排序,就一目了然,通过指定 -S 选项

1
$ ls -lS

8. 按照反向进行排序显示

如果希望按照文件从小到大,或者按照时间从旧到新就行排序,可以通过指定 -r 选项进行反序

1
2
3
4
# 按照时间从旧到新的顺序
$ ls -ltr
# 按照文件从小到大的顺序
$ ls -lSr

9. 递归显示目录内容

默认情况下,ls 会显示目录中的文件和子目录,如果希望继续显示子目录中的内容,可以通过指定 -R 选项

1
$ ls -lR

10. 显示文件的 inode 号

有时可能需要查看文件的 inode 信息,你可能会有疑问,查看 inode 有什么用?这里列举一个非常典型的应用场景。

1
2
3
$ ls -i
803463 c.txt 802807 t 807285 ڹ��.txt
$ find . -inum 807285 -exec rm {} \;

要删除一个名称乱码的文件,通过手工没法输入,有时又不能通过终端准确复制该文件的名称通过 rm 直接删除,就可以通过上述方式:先查看到该文件的 inode 号,再借助于 find 命令查找 inode 进行了删除。

11. 设置显示颜色

在有的系统上,通过终端输入 ls 命令后,不能正确显示颜色高亮,可以通过 --color 选项进行设置

1
$ ls --color=always

专题:

本文发表于 2022-06-10,最后修改于 2023-09-17。

本站永久域名「 golinuxblog.com 」,也可搜索「 Linux教程网 」找到我。


上一篇 « Linux文件移动命令mv 下一篇 » 如何使用 netplan 配置网络

推荐阅读

Big Image