您现在的位置是:首页 >  云笔记 >  开发笔记 >  文章详情

Inode为何物?

豆豆   2019-12-14 14:01:26   586人已围观

一、inode是什么?
理解inode,要从文件储存说起。文件存储在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB)。如下图:

多个扇区组成一个块,操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个sector组成一个block。一组请求的字节到物理块的映射过程示意图:

文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的“元信息”,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为”索引节点“。每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。

二、inode的内容
inode包含文件的元信息,具体来说有以下内容:
Size 文件的字节数
Uid 文件拥有者的User ID
Gid 文件的Group ID
Access 文件的读、写、执行权限
文件的时间戳,共有三个: 
Change 指inode上一次变动的时间
Modify 指文件内容上一次变动的时间
Access 指文件上一次打开的时间
Links 链接数,即有多少文件名指向这个inode
Inode 文件数据block的位置
Blocks 块数
IO Blocks 块大小
Device 设备号码
可以用stat命令,查看某个文件的inode信息:  

                 inode表结构:





分享到:

编辑发布时间:2019-12-14 14:01:26