大多数Linux资源都能以文件的方式来访问,在一个Linux系统上能够出现的部分类型的文件如下:
普通文件:称为磁盘文件,并且被定义为能够进行随机存储的数据存储单位。他们是面向字节的,意思是从其中读出或向其写入的基本单位是单个字节,单个字节也与单个字符相对应。
无名管道和有名管道:(pipc)是一个从一端接受数据并把数据传向另一端的数据通道。一端执行写操作,而另一端执行读出操作。无名管道出现在系统的硬盘上从来没有名称,比如/home/kwall/somefile。相反,无名管道只是根据需要在内存中创建并在内存中消失(严格说,是在内核中)。无名管道只是通过数字而从不通过文件名来引用。然而,你可以使用相同一接口来读写无名管道。这个接口和读写一个基于硬盘的普通文件的接口是一样的。
有名管道拥有自己的名字,他们最常使用的场合是在两个进程需要共享数据而又没有共享文件描述符的时候。
目录:也称为目录文件,他是保存在目录中文件列表的简单文件。
设备文件:也称为特殊文件,该文件提供了到大多数物理设备的接口。他们不是字符型特殊文件就是快特殊文件。字符型特殊文件一次只能读出或写入一个字符或字符的数据。字符设备的例子包含调制解调器、终端、打印机、声卡以及鼠标。另一方面,块特设文件必须以一定大小的块来读出或写入数据(一个块是指某种任意大小的数据块;例如,512字节或1k字节)。块设备包括CD-ROM驱动器、RAM驱动器和磁盘驱动器。一般而言,字符设备用于传输数据,而块设备用于存储数据。设备文件保存在/dev目录下。
符号链接:包含了到另一个文件的路径的文件。从功能上看,他们的行为和命令的别名很相似。大多数处理文件的调用都是处理链接指向的真实文件而不是链接文件本身(它称为跟随链接)
套接口:的运行更像管道,但是她能够让处于不同机器上的进程进行通信。