我们可以把一个磁盘分成一个或多个分区。每个分区可以包含一个文件系统。i接地那是固定长度的记录项,它包含有关文件的大部分信息。
每个i节点中都有一个链接计数,其值是指向该文件i节点的目录项数。只有当链接计数减少到0时才可以删除改文件(也就是可以释放该文件占用的数据块)。这就是为什么“解除对一个文件的链接”操作并不总是意味着“释放该文件占用的磁盘块”的原因。这也是威慑么删除一个目录项函数被称之为unlink而不是delete的原因。
另外一种链接类型称为符号链接(symbolic link)。符号链接文件的实际内容(在数据块中)包含了该符号链接所指向的文件的名字。
i节点包含了文件有关的所有信息:文件类型、文件访问权限位、文件长度和指向文件数据块的指针等。stat结构中的大多数信息都取自i节点。只有两项重要数据存放在目录项中:文件名和i节点编号。
因为目录项中的i节点编号指向同一文进系统中的相应i节点,一个目录项不能指向另一个文件系统的i节点。
当在不更换文件系统的情况下为一个文件重命名是,该文件的实际内容并未移动,只需要够找一个指向现有i节点的新目录项,并删除老的目录项。链接计数不会改变。
文件系统(UNIX环境高级编程笔记)
最新推荐文章于 2022-11-13 21:51:50 发布