整理 | Linux下列出目录内容命令

良许 良许Linux

点击「阅读原文」查看良许原创精品视频。

在 Linux 中,有非常多的命令可以让我们用来执行各种各样的任务。当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令。但只有 ls 命令能实现这个目的吗?显然不是。 下面,良许就给大家介绍Linux下列出目录内容的一些命令,一起来看看吧。

ls

Linux 中最常用的列出目录下内容的命令就是 ls 命令。默认情况下, ls 显示目录下的所有非隐藏内容。在显示结果里文件和目录会被显示为不同的颜色,具体显示的颜色取决于终端的配色主题。 ls ls 命令列出的是当前所在目录的内容,如果要查看其他目录中的内容,可以在命令中指定具体路径:


$ ls /其他的/目录/路径

如果你想要查看目录中的隐藏的内容,可以添加 -a 选项:


$ ls -a

你还可以使用 -l 选项来以列表的形式列出当前目录的内容,这时候所列出来的文件大小将以字节的形式显示,非常不方便阅读。我们可以加上 -h 选项,使用易于人类阅读的形式显示文件大小,比如 k 、M、G 等方便阅读的单位。 当然,为了方便,可以直接将两个选项合二为一写在一起。


$ ls -lh

dir

ls 命令大家比较熟悉,使用的频率也非常高。dir 命令与 ls 命令类似,也是列出目录下内容。如果列出的文件名中含有特殊字符,比如空格,那么这些特殊字符前将会显示一个反斜杠 \ 。 dir 与 ls 比较相似,在 ls 命令中的命令参数在 dir 中也是可用的。 dir 实际上,dir 命令等同于以下这条命令:


$ ls -C -b

其中: -C : 以列的形式显示内容 -b : 在特殊字符前添加反斜杠 \

vdir

vdir 命令以长列表的形式显示目录下的内容,并且特殊字符前也是加了反斜杠 \ 的。长列表中显示了该文件或目录的权限信息,连接数,所有者,组所有者,文件大小,上次修改时间和名称。 vdir vdir 命令和以下 ls 命令的作用是相同的:


$ ls -l -b

其中: -l : 以列表的形式显示目录下的内容 -b : 在特殊字符前面加反斜杠 \

dir 和 vdir 存在的意义

看到这里,大家肯定会有个疑问,既然 ls 命令都可以实现 dir 及 vdir 的全部功能,那么这二者存在还有啥意义? Shell 命令常常作为脚本的一部分,这些脚本的输出有时候是显示到终端上,有时被重定向到文件中或者有时也简单地通过管道传输给其他命令。 但是在在有些情况下,ls 命令会因为脚本执行时的性能问题导致得到的结果不符合预期。所以, Linux 的开发人员研究出了这两个命令,使用这两个命令就不会遇到那样的性能问题。

一些其他知识

当我们使用 ls 命令查看目录内容时,不同类型的文件将显示为不同颜色,而使用 dir 和 vdir 命令时则所有内容都是同一种颜色。这是因为在默认情况下 ls 其实是 ls --color=auto 的别名,因此对输出的内容配置了颜色。 alias 如果在使用dir 和 vdir 时也想让输出内容按类型不同显示不同颜色,那么可以使用:


$ dir --color
$ vdir --color

dircolor