在Unix操作系统中,利用ls命令可以列出当前目录或者指定目录下的所有目录文件、普通文件与设备文件。利用这个ls命令,搭配其丰富的可选项,其可以完成一些复杂的功能。不过可惜的是,大部分用户只知道ls命令的基本用法。有很多可选项很有用,但是却被大家所忽视了。笔者借这次机会,跟大家说说在ls命令中几个经常被忽视的可选项。
一、列出所有的文件。
如上图所示,执行ls与ls ?a命令,两者的执行结果有什么样的区别呢?若光光是一个ls命令,没有带上-a可选项,其显示的结果结果只有一个admin。而带上-a命令后,其显示的结果要多的多。可见,如果在不带可选项-a的情况下,其只显示了部分的目录文件或者普通文件。从以上的结果中可以看出,隐藏的目录文件或者普通文件、以及两个表示当前目录(.)与上级目录(..)的目录文件在不带-a可选项的情况下是不会显示出来的。对于系统工程师来说,主要关注的就是这些隐藏文件。因为有时候系统工程师需要编辑这些隐藏文件。他们在编辑或者复制移动之前,需要先判断一下这个隐藏文件是否存在。为此不得不先利用ls ?a命令来查看一下所有的文件,包括隐藏文件。然后再决定下一步该如何走。
从这里也可以看出,在Unix操作系统中查看隐藏文件与Windows操作系统的不同。在Windows中,需要选中“查看所有隐藏文件”的选项选中看,才可以查看隐藏文件。下次要将这些隐藏文件再度隐藏的话,还需要把这个选项去掉。操作起来相对麻烦一点。而在Unix操作系统中,只需要在需要显示的时候,加上一个-a可选项即可。另外两者在显示上也有一个细微的区别。在Windows操作系统中,如果目录的数据是隐藏的,那么在显示的时候隐藏的文件夹会有一个淡淡的水印效果。用户可以一目了然的知道这是一个隐藏的文件夹。但是在Unix操作系统中,却没有这方面的特技效果。一般情况下,在Unix操作系统中判断这个目录文件或则普通文件是否是隐藏文件,主要根据其文件名来判断。如上图所示,如果文件名是以英文状态下的点号开头的,就表示这是一个隐藏的目录文件。
二、以递归方式显示所有的目录与文件。
虽然采用ls ?a可以显示所有的当前目录下的文件。但是其仍然只能够显示当前目录下的目录文件、普通文件等等。而不能够显示下一级子目录中的文件。如上图所示,admin与.kde是当前目录下的两个子目录。若只是使用ls ?a命令无法列出这个连个子目录文件夹的文件信息。但是有时候用户需要知道当前目录下的所有文件信息,包括其子目录下的文件内容。如现在用户需要删除一个包含多级子目录的目录文件,但是其又不能够保证这个目录下的文件都没有用了。为此其需要系统显示某个目录树里的所有文件和子目里的内容。让其可以一目了然的判断这些文件是否还有用。如果不能够实现在这个需求的话,用户不得不利用cd命令进入到对应的子目录中,然后再利用ls命令进行查看。如果这个目录的级数比较多或者同级子目录比较多,这个操作起来显然会很麻烦。所以,现在用户就喜欢能够一次性查看某个目录树理的所有文件和子目录里的内容。
[1] [2] 下一页