Catalogue
在 Linux 系统中,无论是常见的数据文件、可执行文件,还是一个目录,甚至设备都以文件的形式存在。正因如此,文件在文件系统中的类型也是多样的。
文件类型缩写及别称
文件类型 | 缩写 | 英文 | 其他名称 |
---|---|---|---|
普通文件 | - | Regular file | |
目录文件 | d | Directory file | |
块设备文件 | b | Block special file | 块特殊文件 |
字符设备文件 | c | Character special file | 字符特殊文件 |
管道文件 | p | FIFO, named pipe | 先进先出,命名管道 |
套接字文件 | s | Socket | |
符号链接文件 | l | Symbolic link | 软链接 |
各文件类型简介
普通文件(Regular file)
普通意义上的文件,Linux 中最多的一种文件类型,如纯文本文件(ASCII)、数据文件(data)、二进制可执行文件(binary)及各种压缩文件等。
目录文件(Directory file)
Linux 中目录也是一种文件,能用 cd
命令进入。目录文件包括了文件夹中所有文件的名字和在分区中的位置。目录文件的权限意义也较特殊。
块设备文件(Block special file)
一种提供带缓冲的固定大小单元读写的设备文件,就是存储数据以供系统存取的接口设备,简单而言就是硬盘。如硬盘设备(/dev/sda)及硬盘分区(/dev/hda1)等。
字符设备文件(Character special file)
即串行端口的接口设备,例如键盘、鼠标等等。此种类型文件提供无缓存的变长单元读写。一个设备如果不是块设备,就是字符设备。
管道文件(named pipe或FIFO)
用于系统进程间通信的文件。FIFO 也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO 是 first-in-first-out (先进先出)的缩写。
套接字文件(Socket)
这类文件通常用在网络数据连接,进程之前通过网络进行通信的文件。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。
符号链接文件(Symbolic link)
类似Windows下面的快捷方式。此种文件仅是一个链接。
查看文件的类型
stat命令
stat
命令用于查看一个文件有关文件系统的详细信息(其中包括文件时间属性)。可以看到第一行最后就是文件类型:
1 | $ stat /dev/xconsole |
ls命令
ls -l
命令就可以给出文件的类型,显示的结果中每行的第一个字符就是文件类型:
1 | -rw-r--r-- 1 chenxing chenxing 903 2007-08-02 vga.wiki |
依据文件类型查找文件
find
命令的 -t 参数可以用于查找指定类型的文件。