在 linux 中,有非常多的命令可以让我们用来执行各种各样的任务。当我们想要像使用文件浏览器一样列出一个目录下的内容时,大家第一时间想到的是 ls 命令。但只有 ls 命令能实现这个目的吗?显然不是。
下面,良许就给大家介绍Linux下列出目录内容的一些命令,一起来看看吧。
ls
Linux 中最常用的列出目录下内容的命令就是 ls 命令。默认情况下, ls 显示目录下的所有非隐藏内容。在显示结果里文件和目录会被显示为不同的颜色,具体显示的颜色取决于终端的配色主题。
ls 命令列出的是当前所在目录的内容,如果要查看其他目录中的内容,可以在命令中指定具体路径:
$ ls /其他的/目录/路径
如果你想要查看目录中的隐藏的内容,可以添加 -a 选项:
$ ls -a
你还可以使用 -l 选项来以列表的形式列出当前目录的内容,这时候所列出来的文件大小将以字节的形式显示,非常不方便阅读。我们可以加上 -h 选项,使用易于人类阅读的形式显示文件大小,比如 k 、M、G 等方便阅读的单位。
当然,为了方便,可以直接将两个选项合二为一写在一起。
$ ls -lh
dir
ls 命令大家比较熟悉,使用的频率也非常高。dir 命令与 ls 命令类似,也是列出目录下内容。如果列出的文件名中含有特殊字符,比如空格,那么这些特殊字符前将会显示一个反斜杠 。
dir 与 ls 比较相似,在 ls 命令中的命令参数在 dir 中也是可用的。
实际上,dir 命令等同于以下这条命令:
$ ls -C -b
其中:
-C : 以列的形式显示内容
-b : 在特殊字符前添加反斜杠
vdir
vdir 命令以长列表的形式显示目录下的内容,并且特殊字符前也是加了反斜杠 的。长列表中显示了该文件或目录的权限信息,连接数,所有者,组所有者,文件大小,上次修改时间和名称。
vdir 命令和以下 ls 命令的作用是相同的:
$ ls -l -b
其中:
-l : 以列表的形式显示目录下的内容
-b : 在特殊字符前面加反斜杠
dir 和 vdir 存在的意义
看到这里,大家肯定会有个疑问,既然 ls 命令都可以实现 dir 及 vdir 的全部功能,那么这二者存在还有啥意义?
Shell 命令常常作为脚本的一部分,这些脚本的输出有时候是显示到终端上,有时被重定向到文件中或者有时也简单地通过管道传输给其他命令。
但是在在有些情况下,ls 命令会因为脚本执行时的性能问题导致得到的结果不符合预期。所以, Linux 的开发人员研究出了这两个命令,使用这两个命令就不会遇到那样的性能问题。
一些其他知识
当我们使用 ls 命令查看目录内容时,不同类型的文件将显示为不同颜色,而使用 dir 和 vdir 命令时则所有内容都是同一种颜色。这是因为在默认情况下 ls 其实是 ls --color=auto 的别名,因此对输出的内容配置了颜色。
如果在使用dir 和 vdir 时也想让输出内容按类型不同显示不同颜色,那么可以使用:
$ dir --color
$ vdir --color