在Unix世界,一切皆文件。Unix系统中绝大部分资源都抽象为一个文件。Unix文件类型包括以下几种:
1、普通文件(regular file)。这是最常见的文件类型。这种文件包括了某种形式的数据。例如文本文件、二进制可执行文件等等。不管文件是何种格式,其用途如何,对于Unix文件系统对此类文件的管理是完全一致的。
2、目录文件(directory file)。Unix把包含其他文件或者子目录的目录也视为一种文件。目录文件的数据主要就是它所包含的文件名和指向这些文件具体信息的指针。
3、块设备文件(block special file)。这类文件主要是用来描述一个磁盘之类的硬件设备。例如,/dev/sda代表第一块SATA接口的IDE硬件,/dev/sda1代表该硬盘的第一个分区,/dev/sad2代表该硬盘的第二个分区。这些文件的每次读写都以一个固定长度为单位,所以都称为块设备。意思就是文件数据是一块一块地批量地操作,而不是一个字节一个字节地读写。
4、字符特殊文件(character special file)。这种设备提供不带缓冲的访问。与块设备相反,字符设备文件每次访问的长度可变。系统中的所有设备要么是块设备文件,要么是字符特殊文件。
5、FIFO(first in first out)。先进先出,这种文件主要用于进程间通信,也称为命名管道。
6、套接字(sockedrt)。主要用进程间的网络通信。
7、符号链接(symbolic link)。指向另一个文件的文件。