读目录
对某个目录具有存取许可权的单一用户都可读该目录,但是只有内核才能与目录(防止文件系统发生混乱).一个目录的写许可权位和执行许可权位决定了在该目录中是否能够创建新文件以及删除文件,它们并不表示能够写目录本身.
目录的实际格式依赖于UNIX的具体实现.早起的系统,例如V7,有一个比较简单的结构:每个目录项的16个字节,其中14个字节是文件名,2个字节是i节点编号数.而对于4.2BSD而言,由于它允许相当长的文件名,所以每个目录项的长度的是可变的.这就意味着读目录的程序与系统相关.为了简化这种情况,UNIX现在包含了一套与读目录有关的例程,他们是POSIX.1的一部分.
我们将使用这些目录编写一个遍历文件层次结构的程序,其目的是得到如表4-2中所示的各种类型的文件数.程序4-7只有一个参数,它说明起点路径名,从该点开始降序遍历文件层次结构.系统V提供了一个实际遍历此层次结构的函数ftw(3),对于每一个文件他都调用一个用户定义函数.
不行了,昨晚就睡了4个多小时,没有什么事情是值得搭上性命去实现的!今天先撤了!