学科分类
目录
Linux编程

文件类型概述

在第二章的基本命令中,我们对“ls -l”输出的文件属性做了简单讲解,根据讲解内容可知,Linux系统中文件的类型存储在文件属性中,ls长选项格式中第一项的第一个字符代表文件类型,该字符有7种取值,分别对应不同的文件:

① d:directory,目录文件;

② l:link,符号链接文件;

③ s:socket,套接字文件;

④ b:block,块设备文件;

⑤ c:character,字符设备文件;

⑥ p:pile,管道文件;

⑦ -:不属于以上任一种文件的普通文件。

其中块设备文件和字符设备文件又可统称为设备文件;管道文件、套接字文件、符号链接文件统称为特殊文件,因此可以认为Linux系统中有四种文件,即:普通文件、目录文件、设备文件和特殊文件。

(1)普通文件

普通文件(Regular File)的范围最广,是指以字节为单位的数据流,包括二进制文件、文本文件、可执行文件等等。文本文件和二进制文件对Linux来说没有区别,对普通文件的解释由处理该文件的关联程序进行。

(2)目录文件

Linux系统中的目录文件(Directory File)类似windows系统中的目录,只是在Linux中目录以文件的形式存储。目录文件可以中可以包含其它类型的文件,也可以包含目录。

(3)设备文件

Linux系统中将I/O设备,如鼠标、键盘、光驱、打印机等,都视为文件来处理,这类文件被称为设备文件(Device File)。

(4)特殊文件

特殊文件中较为常见的是符号链接文件,符号链接文件实际就是软链接文件。Linux中可以为一个文件取多个名字,这种功能称为链接。被链接的文件可以存放在相同的目录下,但是必须有不同的文件名;也可以以相同的文件名存放在不同的目录下,这种情况下使用链接文件的好处是,当对某个目录下的文件进行修改后,其它目录下的同名链接文件都会被修改。Linux系统中的链接文件分软链接文件和硬链接文件,硬链接文件的本质是普通文件,不属于符号链接文件。

为了加强读者对Linux系统中文件类型的认识,下面将对普通文件中的硬链接文件、特殊文件中的符号链接文件和设备文件进行讲解。

点击此处
隐藏目录