1 inode 概念:
文件储存在硬盘上,硬盘的最小存储单位叫做“扇区”(Sector)。每个扇区储存512字节(相当于0.5KB).操作系统读取硬盘的时候,不会一个个的读取,这样效率太低,而是一次性连续的读取多个扇区,即一次性读取一个“块”(block)。这种由多个扇区组成的“块”,是文件存取的最小单位。“块”的大小,最常见的是4KB,即连续八个sector组成一个block。
文件数据都存储在“块”中,那么很显然,我们还必须找到一个地方存储文件的元信息,比如文件的创建者,文件的创建日期,文件的大小等等。这种储存文件元信息的区域就叫做inode ,中文译名为“索引节点”。
2 inode 的内容:
inode包含的文件的元信息,具体来说有以下内容:
1)文件的字节数
2)文件拥有者的User ID
3)文件的Group ID
4)文件的读,写,执行权限
5)文件的时间戳,共有三个:ctime指 inode上一次变动的时间; mtime 指文件内容上一次变动的时间;atime指文件上一次打开的时间。
6)连接数,即有多少个文件指向这个inode
7)文件数据block的位置
可用stat 命令,查看某个文件的inode 信息:
[root@wangweicentos home]# stat mydate.txt
File: ‘mydate.txt’
Size: 2029 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 6018 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:home_root_t:s0
Access: 2022-07-20 15:48:21.339912934 +0800
Modify: 2022-07-17 16:16:52.743068626 +0800
Change: 2022-07-20 15:48:16.361913070 +0800
Birth: -
总之,除了文件名以外的所有文件信息,都存在inode 之中。
3 inode 的大小
1)inode 也会消耗磁盘空间,所以硬盘格式化时候,操作系统自动将硬盘分成两个区域。
Block 组成:
inode 元数据信息 |
data 真实数据 |
2)一个是数据区,存放文件数据;另一个是inode区(inode table),存放inode 所包含的信息。
3)每个inode节点的大小,一般是在128字节或者是256字节。
4)inode节点的总数,在格式化时就给定,一般是每1KB或每2KB就设置一个inode。
5)假定在一块1GB的硬盘中,每个inode节点的大小为128字节,每1KB就设置一个inode,那么inode table的大小就会达到128MB,占整块硬盘的12.8%。
6