Linux 系统文件类型

时间:2021-03-16 08:39:57

    在Linux系统中,无论是常见的数据文件、可执行文件,还是一个目录,甚至设备都以文件的形式存在。正因如此,文件在文件系统中的类型也是多样的。
    文件类型缩写及别称:

文件类型 缩写 英文 其他名称
普通文件 - Regular file  
目录文件 d Directory file  
块特殊文件 b Block special file 块设备文件
字符设备文件 c Character special file 字符设备文件
先进先出 p FIFO named pipe,命名管道
套接字文件 s Socket  
符号链接 l Symbolic link 软链接

各文件类型简介

各文件类型的主要含义如下[1]

普通文件(Regular file)
普通意义上的文件,如数据文件、可执行文件等。
目录文件(Directory file)
Linux中目录也是一种文件。目录文件包括了文件夹中所有文件的名字和在分区中的位置。目录文件的权限意义也较特殊,参见 文件权限
块设备文件(Block special file)
一种提供带缓冲的固定大小单元读写的设备文件。如硬盘设备(/dev/sda)及硬盘分区(/dev/hda1)等。
字符设备文件(Character special file)
此种类型文件提供无缓存的变长单元读写。一个设备如果不是块设备,就是字符设备。
命名管道(named pipe或FIFO)
用于系统 进程间通信的文件。
套接字文件(Socket)
进程之前通过网络进行通信的文件。多数网络连接都是用Socket建立的。
符号链接(Symbolic link)
此种文件仅是一个链接,详情请参见 符号链接

查看文件的类型

[编辑] stat

stat命令用于查看一个文件有关文件系统的信息。[2]可以看到第一行最后就是文件类型。

$ stat /dev/xconsole
 File: “/dev/xconsole”
 Size: 0         	Blocks: 0          IO Block: 4096   先进先出
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命令就可以给出文件的类型,用法是:

ls -l

显示的结果中每行的第一个字符就是文件类型。

-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参数可以用于查找指定类型的文件。

[编辑] 参考资料

  1. Advanced Programming in the UNIX® Environment: Second Edition, By W. Richard Stevens, Stephen A. Rago
  2. stat man page

取自"http://www.linux-wiki.cn/index.php/%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B_%28%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%29"