1. 前言
本文主要讲解如何查看Linux中的文件类型。
在Linux文件系统中管理文件时,肯定会遇到不同的文件类型。最常用文件类型是常规文件和目录。然而,Linux操作系统在文件类型方面不仅仅只是普通文件和目录,因为它还包括另外5种文件类型。这篇教程将帮助您识别Linux操作系统中的所有7种不同的文件类型。
2. 查看Linux文件类型
您只需要知道一个命令,它将帮助您识别和分类Linux系统中的七种不同的文件类型。
ls -ld <file name>
下面是上述命令的示例输出。
zcwyou@linuxrumen:~$ ls -ld /usr/local/
输出结果
drwxr-xr-x 10 root root 4096 4月 23 15:32 /usr/local/
ls命令将文件类型显示为编码符号,作为文件权限部分的第一个字符。在本例中,它是-
,意思是“常规文件”。需要指出的是,不要将Linux文件类型与文件扩展名混淆。让我们来看看所有七种不同类型的Linux文件类型和ls
命令输出结果中的标识符的简短总结:
1. -
: 常规文件
2. d
: 目录
3. c
: 字符设备文件
4. b
: 块设备文件
5. s
: 本地socket文件
6. p
: 命名管道
7. l
: 链接符号文件
2.1 常规文件
常规文件是Linux系统中最常见的文件类型。它管理所有不同的文件,如文本文件、图片、二进制文件、共享库等。你可以用touch命令创建一个常规文件:
zcwyou@linuxrumen:~$ touch linuxrumen.com
zcwyou@linuxrumen:~$ ls -ld linuxrumen.com
-rw-rw-r-- 1 zcwyou zcwyou 0 5月 25 08:55 linuxrumen.com
删除刚才的文件:
zcwyou@linuxrumen:~$ rm -f linuxrumen.com
2.2 查看目录
zcwyou@linuxrumen:~$ ls -ld /etc/
输出结果
drwxr-xr-x 138 root root 12288 5月 22 09:12 /etc/
创建目录:
zcwyou@linuxrumen:~$ mkdir linuxrumen
查看目录
zcwyou@linuxrumen:~$ ls -ld linuxrumen
输出结果如下:
drwxrwxr-x 2 zcwyou zcwyou 4096 5月 25 08:59 linuxrumen
删除该目录以及里面所有的子目录和文件:
zcwyou@linuxrumen:~$ rm -rf linuxrumen
2.3 字符设备
字符和块设备文件允许用户和程序与硬件外围设备通信。例如:
zcwyou@linuxrumen:~$ ls -ld /dev/console
输出结果:
crw--w---- 1 root tty 5, 1 5月 24 05:17 /dev/console
2.4 块设备
块设备类似于字符设备。它们主要管理硬件,如硬盘、内存等。
zcwyou@linuxrumen:~$ ls -ld /dev/sda
输出结果:
brw-rw---- 1 root disk 8, 0 5月 24 05:16 /dev/sda
2.5 本地域sockets
本地域sockets用于进程之间的通信。通常,它们被X windows、syslog等服务使用。
zcwyou@linuxrumen:~$ ls -ld /run/systemd/journal/dev-log
输出结果:
srw-rw-rw- 1 root root 0 5月 24 05:16 /run/systemd/journal/dev-log
sockets(套接字)可以通过sockets系统调用创建,也可以通过unlink
或rm
命令删除。
2.6 Named Pipes(命名管道)
与本地套接字类似,命名管道允许在两个本地进程之间进行通信。它们可以由mknod
命令创建,并使用rm
命令删除。
2.7 符号链接
通过符号链接,管理员可以为文件或目录分配多个标识。符号链接可以作为指向原始文件的指针。有两种类型的符号链接:
- 硬链接
- 软链接
硬链接和软链接的区别在于,软链接使用文件名作为引用,而硬链接使用对原始文件的直接引用。此外,硬链接不能跨文件系统和分区。要创建符号软链接,我们可以使用ln -s
命令:
创建文本文件file1
,内容为:file1
echo file1 > file1
创建软链接file2
,指向file1
ln -s file1 file2
查看file2的内容:
cat file2
输出结果为:
file1
可以看到,file2只是file1的一个“快捷方式”,文件内容完全一致,而且占用的空间非常少。
ls -ld file2
lrwxrwxrwx 1 zcwyou zcwyou 5 Jan 10 14:42 file2 -> file1
要删除符号链接,可以使用unlink
或rm
命令。
3. 结论
作为Linux系统管理员,您将主要使用常规文件、目录块和字符设备。作为一名软件开发人员,您还将使用本地套接字和命名管道。
评论前必须登录!
注册