Linux 文件类型


Catalogue
  1. 1. 文件类型缩写及别称
  2. 2. 各文件类型简介
    1. 2.1. 普通文件(Regular file)
    2. 2.2. 目录文件(Directory file)
    3. 2.3. 块设备文件(Block special file)
    4. 2.4. 字符设备文件(Character special file)
    5. 2.5. 管道文件(named pipe或FIFO)
    6. 2.6. 套接字文件(Socket)
    7. 2.7. 符号链接文件(Symbolic link)
  3. 3. 查看文件的类型
    1. 3.1. stat命令
    2. 3.2. ls命令
  4. 4. 依据文件类型查找文件
  5. 5. 参考资料

在 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)

这类文件通常用在网络数据连接,进程之前通过网络进行通信的文件。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。

类似Windows下面的快捷方式。此种文件仅是一个链接。


查看文件的类型

stat命令

stat 命令用于查看一个文件有关文件系统的详细信息(其中包括文件时间属性)。可以看到第一行最后就是文件类型:

1
2
3
4
5
6
7
8
$ stat /dev/xconsole
File: “/dev/xconsole”
Size: 0 Blocks: 0 IO Block: 4096 FIFO/pipe
Device: dh/13d Inode: 6817 Links: 1
Access: (0640/prw-r-----) Uid: ( 0/ root) Gid: ( 4/ adm)
Access: 2008-09-28 14:38:29.574820703 +0800
Modify: 2008-09-28 14:40:30.630821133 +0800
Change: 2008-09-28 14:40:30.630821133 +0800

ls命令

ls -l 命令就可以给出文件的类型,显示的结果中每行的第一个字符就是文件类型:

1
2
3
4
5
6
7
-rw-r--r-- 1 chenxing chenxing   903 2007-08-02 vga.wiki
drwxr-xr-x 2 chenxing chenxing 4096 09-28 19:52 wpbin
prw-r----- 1 root adm 0 09-28 14:40 xconsole
crw-rw-rw- 1 root root 1, 5 2008-09-28 zero
lrwxrwxrwx 1 root root 5 2008-09-28 root -> hda11
srw-rw-rw- 1 root root 0 09-28 14:38 log
brw-rw---- 1 root disk 3, 0 2008-09-28 hda

依据文件类型查找文件

find 命令的 -t 参数可以用于查找指定类型的文件。


参考资料