水滴石穿,源自毅力!
~~~~~~~~每天进步一点点!
linux文件系统中的 Inode
上一篇 /
下一篇 2008-04-02 22:08:11
/ 个人分类:linux
下面这张图是我在一个视频教程里看到的,我觉得能说明问题。拿出来给大家看看,(*^__^*) 嘻嘻……

当一个文件系统被格式化成ext2或者ext3的时候,就会产生Inode number。
大家注意到,在文件系统中每一个inode-no对应一个文件:例如图中对应的
1-F1(文件名)
2-D1
等等
而每一个Inode-no对应一个inode-table,即图中下面部分的一张表
首先我们看看,我们是怎么样读取和修改一个文件的
1、我们首先根据文件名,找到这个文件的Inode-no(节点数)。
2、当我们找到个文件的Inode-no时,就会根据这个number数在inodetable中找到对应的条目
3、现在要我们看一看inodetable中的信息:
从左到右依次是:节点数、文件类型、文件的权限、硬链接数、用户ID、组ID、文件的大小、时间戳记,
最后为指向硬盘上存放数据的数据块的指针。
简单说一下其中的某些项:
文件类型大有7种:
- 普通的文件
d 目录
l 链接文件
b 块设备文件
c 字符设备文件
p 命名管道
s socket文件
从这里我们也可以看出,在linux文件系统中,目录也是当作文件来看的!
对于时间戳记有三种:存取时间,修改时间,变更时间
存取时间,为最后一次打开,或者是访问这个文件的时间;
而修改时间,为最后一次修改文件的时间;
当inodetable中的某项改变时,会更新变更时间。
4、系统首先检查权限等信息,确定该用户可以访问该文件的时候,就会通过最后的指针找到实际的数据块,
对文件进行存取;
这就是简单的流程了,希望说明白了!
以后有时间了,会说的详细点!
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
linux
inode
文件系统