Unix高级编程之文件和目录

文件类型

普通文件(regular file)

  • 这是最常用的文件类型,这种文件包含了某种形式的数据。例如文本文件、二进制可执行文件等等。
  • 不管文件是何种格式,其用途如何,对于 Unix 文件系统对此类文件的管理是完全一致的。
  • 对普通文件内容的解释由处理该文件的应用程序进行。

目录文件(directory file)

  • 这种文件包含了其他文件的名字以及指向与这些文件有关信息的指针。
  • 对于一个目录文件具有读权限的任一进程都可以读取该目录的内容,但只有内核可以直接写目录文件。

块特殊文件(block special file)

  • 这种类型的文件提供对设备(如磁盘)带缓冲的访问,每次访问以固定长度为单位进行。

字符特殊文件 (character special file)

  • 这种类型的文件提供对设备不带缓冲的访问,每次访问的长度可变。系统中的所有设备要么是字符特殊文件,要么是块特殊文件。

FIFO

  • 这种类型的文件用于进程间的通信,有时也称为命名管道(named pipe)

套接字(socket)

  • 这种类型的文件用于进程间的网络通信。
  • 也可用于在一台宿主机上进程之间的非网络通信。
  • 这种类型的文件指向另一个文件。