文件系统处理文件所需要的所有信息都放在称为索引节点的数据结构中。文件名可以随时更改,但是索引节点对文件是唯一的,并且随文件的存在而存在。VFS索引节点的数据结构inode在/includ/fs/fs.h中定义如下(2.4.x版本)
当一个文件系统被格式化成ext2或者ext3的时候,就会产生Inode number。

读取和修改一个文件:
1、我们首先根据文件名,找到这个文件的Inode-no(节点数)。
2、当我们找到个文件的Inode-no时,就会根据这个number数在inodetable中找到对应的条目。

3、现在要我们看一看inodetable中的信息(ls -li):从左到右依次是:节点数、文件类型、文件的权限、硬链接数、用户ID、组ID、文件的大小、时间戳记,最后为指向硬盘上存放数据的数据块的指针
简单说一下其中的某些项(文件类型大有7种):
- 普通的文件
d 目录
l 链接文件
b 块设备文件
c 字符设备文件
p 命名管道
s socket文件
从这里我们也可以看出,在linux文件系统中,目录也是当作文件来看的!对于时间戳记有三种:存取时间,修改时间,变更时间 存取时间,为最后一次打开,或者是访问这个文件的时间; 而修改时间,为最后一次修改文件的时间; 当inodetable中的某项改变时,会更新变更时间。
本文介绍了Linux文件系统的索引节点概念,展示了如何使用命令查看索引节点号及引用次数,并解释了硬链接与符号链接的区别。此外还介绍了读取和修改文件的过程。
1602

被折叠的 条评论
为什么被折叠?



