本篇文章教大家如何分辨 Linux 中的目录文件,学习 Linux 的人都知道 Linux 的哲学思想那就是一切皆文件。那么在众多的文件中,如何区分出哪个是目录呢?这时就会有人说了我靠颜色区分,靠颜色区分确实不错,在下面的图片中,蓝颜色的就代表目录文件。
既然这里提到了颜色,那么就把顺带也提一下其他颜色分别代表什么文件吧。这里蓝色就不再多说了,从图片也都可以看出来,蓝色文件就是目录。绿色的文件一般表示可执行的文件或者是可以执行的程序。白色的文件也是最常见的也就是普通文件了,像很多配置文件就是白色表示的。浅蓝色文件表示链接文件,一般都是通过 ln
这个命令建立出来的,这种类型的文件上面图片也有显示,就是带有箭头指向的那种。红色闪烁文件,这种文件一般表示链接的文件有问题,要么位置改变了,要么就是源文件被删除了。
虽然根据不同颜色区分不同文件算是一种区分目录文件的方法,但是毕竟我们是搞技术的人嘛。这种方法怎么说呢,不是特别高级。那么下面就教大家如何通过 ls
的输出进行区分吧。首先我们都知道 ls
这个命令算是 list 的缩写,意为列出当前目录下所有的文件信息。那么现在我们把重点就放在这个命令输出的第一列上。
$ ll
切换到 /usr/local 目录下执行的这个命令,因为这个目录下类型稍微丰富一点
drwxr-xr-x
lrwxrwxrwx
-rw-r--r--
srwxrwxrwx
注意:这里显示的内容是我们把红框中的第一列内容都摘出来了
我们挑出了几个比较有代表性的输出来说明,在上面的输出中可以看到第一列信息很奇怪,有点看不懂的样子,那么今天就来为大家揭晓他们的真实面目。我们拿 drwxr-xr-x
先来举例说明:
d:这块根据上面图片的颜色其实也可以看出来,所以这里就不卖关子了,字母
d
表示的就是目录文件,它是单词 directory 的首字母。第一组 rwx:第一组 rwx 也就是第 2-4 位表示这个文件的属主所拥有的权限,
r
表示 read 读权限,w
表示 write 写权限,x
则表示 execute 执行权限。第二组 r-x:第二组 r-x 也就是第 5-7 位表示这个文件的属组所拥有的权限,跟上面第一组一样,
r
表示 read 读权限,x
则表示 execute 执行权限。中间是写权限,用-
的话就说明属组没有写这个权限第三组 r-x:第三组 r-x 表示其他权限,也就是除了文件属主和属组之外的其他用户所拥有的权限,了解了前两组,想必第三组也是很容易就能够理解,这里就不再多做解释。
现在说完了第一个,除了第一位,剩余的 9 位,也就是从第 2-10 位大家肯定都明白了。每一种类型的文件都会包含这三组权限,而对应的权限也只有读写和执行。说完了第一个,现在我们来看看第二行,第二个文件它是以 l
开头的,它的颜色是浅蓝色,从颜色来区分,所以 l
代表的也就是链接文件了,它是英文单词 link
的首字母,一般使用链接文件都是为了方便访问(就像上图中,我创建的链接文件是 mysql,就是因为直接访问 mysql-8.0.21-linux-glibc2.12-x86_64 这个目录的话很不方便,过于长了)。说完了第二行,现在我们来看第三行,第三行真是奇怪了哈,竟然是一个横杠开头,如果你平时有观察的够仔细,那么你会知道其实在 Linux 系统中大部分文件都是这样,因为以横行表示的都是普通文件,也就是随便 touch
一个文件,都会以横杠开头的。最后一行是以 s
开头的一个文件,这种文件不是特别多,但是也是比较常见的类型,这种文件叫做套接字文件,对应英文单词是 socket 。
说到这里其实查看目录文件的方法很简单,通过以上两种方法都可以,并且两种方法也都很简单,尤其是第一种通过颜色就可以区分。虽然本篇文章的内容很基础,但这也是入门必须要学习和掌握的。但其实除了以上两种方法,还有另一种区分的方法就是通过 file
命令,如下:
$ file ./bin/
./bin/: directory
$ file mysql
mysql: symbolic link to mysql-8.0.21-linux-glibc2.12-x86_64
$ file yd.socket.server
yd.socket.server: socket
file
命令是用来确定文件类型的,虽然平时用的不多,并且没有上面的方法明了,但是作为 Linux 系统的管理人员,多掌握一些基础的命令还是很有必要的,本文关于 Linux 查看目录的方法就介绍到这里,感谢大家长期以来的支持!