Apache中的文件与目录(1)[1]

[入库:2006年2月23日] [更新:2007年3月24日]

本文简介:

4.1 文件概述
文件I/OUnix下占据着非常重要的地位,曾有一句经典语句绝对可以说明fileUnix下的重要性, "In UNIX, everything is a file"APR就是本着这个思想对Unix文件I/O进行了再一次的抽象封装,以提供更为强大和友善的文件I/O接口。
APR File I/O源代码的位置在$(APR_HOME)/file_io目录下针对不同类型的操作系统,file_io下又进一步细分为四个目录:netwareos2unixwin32。每个目录中又包含多个.c文件,每个.c文件对应一种文件操作,比如
open.c -- 封装了文件的打开、关闭、改名和删除等操作
readwrite.c -- 顾名思义,它里面包含了文件的读写操作;
pipe.c -- 包含了pipe相关操作。
还有许多这里不多说,由于文件I/O操作复杂,我们下面将仅挑出最常用的文件I/O操作进行分析。
4.2 APR文件定义
正如第一章所言,APR中为了移植方便,通常会使用自定义的常量来代替原有系统中存在的常量,并提供它们之间的相互转换,这一点对于文件也不例外。APR几乎对文件中所用到的所有的常量都进行了重新定义,包括文件权限、文件打开方式、文件类型定义等等。这部分我们集中了解APR中的这些定义。在后面的部分将很快就会使用到。
4.2.1文件类型
尽管在Unix中,一切皆文件,但是文件又分为不同类型:
1)、普通文件(regular file)。这是最常见的文件类型。UNIX中使用S_IFREG描述该类文件,而APR中使用APR_REG描述。
2)、目录文件(directory file)。这种文件包含了其他文件的名字以及指向与这些文件有关信息的指针。UNIX中使用S_IFDIR描述,在APR中使用APR_DIR描述。
3)、字符特殊文件(character special file)。这类文件通常对应系统中某些类型的设备。UNIX中使用S_IFCHR描述,而APR中使用APR_CHR描述。
4)、块特殊文件(block special file)。这类文件典型的用于磁盘设备。系统中的所有设备或者是字符特殊文件,或者是块特殊文件。UNIX中使用S_IFBLK描述,而APR中使用APR_BLK描述该类文件。
5)FIFO文件。这类文件通常用于进程间通信,有时也称之为管道。APR中使用APR_PIPE描述该类文件。
6)、套接字描述文件。这类文件用于进程间的网络通信。UNIX中使用S_IFSOCK描述,而APR中使用APR_SOCK描述该类文件。
7)、链接文件。最后一种文件类型就是链接文件。这种文件通常仅仅指向另外一个文件。UNIX中使用S_IFLNK描述,而APR中使用APR_LNK描述该类文件。

本文关键:Apache中的文件与目录(1)
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top