您的位置: 首页 > 常识 >

inode是什么意思啊(Linux基础- inode和block)

100次浏览     发布时间:2024-10-29 11:15:41    

在Linux文件系统中,inode 和 block 是两个重要的概念,用于管理文件和文件系统的存储。

大概对应关系图

Inode(索引节点):

Inode是文件系统中的一种数据结构,用于描述文件或目录的元数据(metadata)。inode节点是指定字节长的表,表中包含了文件的相关信息,如:字节数、属主UserID、属组GroupID、读写执行权限、时间戳等。在inode节点表中最重要的内容是:磁盘地址表。

文件名存放在目录当中,但Linux系统内部不使用文件名,而是使用inode号码识别文件。对于系统来说文件名只是inode号码便于识别的别称。即Linux文件系统通过把inode和文件名进行关联来查找文件。当需要读取该文件时,文件系统在当前目录表中查找该文件名对应的项,由此得到该文件相对应的inode节点号,通过该inode节点的磁盘地址表把分散存放的文件物理块连接成文件的逻辑结构。

文件类型

Inode大小

Ext*

128字节

XFS

256字节

Btrfs

256字节

ZFS

128字节

Ext4的 inode 大小为 128 字节的倍数,最小为 128 字节。它有默认值大小,它的默认值由 /etc/mke2fs.conf 文件中指定。

Ext4的特殊inode
Inode号    用途
0         不存在0号inode,可用于标识目录data block中已删除的文件
1         虚拟文件系统,如/proc和/sys
2         根目录         # 注意此行
3         ACL索引
4         ACL数据
5         Boot loader
6         未删除的目录
7         预留的块组描述符inode
8         日志inode
11        第一个非预留的inode,通常是lost+found目录

Block(块)

Block是文件系统中的存储单元,用于存储文件和目录的实际数据。文件系统将数据分成多个块,每个块通常有一个固定的大小(通常以字节为单位)。

文件是存储在硬盘上的,硬盘的最小存储单位叫做扇区sector,每个扇区存储512字节。操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个块block。这种由多个扇区组成的块,是文件存取的最小单位。块的大小,最常见的是4KB,即连续八个sector组成一个block。

即512字节组成一个扇区(sector),多个扇区组成一个块(block),常见的块单位位4KB,即连续八个扇区组成一个block。

一个文件必须占用一个inode,但至少占用一个block。


IO路径图