索引节点,Inode是Index Node的缩写,存储于文件系统上的任何文件都可以用索引节点来表示,所以也可以说索引节点是整个linux文件系统的基础。操作系统在读取硬盘的时候不是一个块一个块的来读取信息,因为这样做的话效率太低,文件数据都储存在“块”中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为“索引节点”。

在Linux系统中,文件系统主要分为两部分,一部分为元数据(metadata),另一部分为数据本身。元数据,换句话说,就是包含了数据有关信息的数据。索引节点就管理着文件系统中元数据的部分。

元数据的基础知识:

在linux文件系统中,任何一个目录或文件都与一个索引节点相对应,而在索引节点表中包含文件系统所有文件列表,而每一个索引节点都是一个表,包含有关文件的信息(元数据),表中包含的信息有:

1、文件类型、权限、UID、GID

2、链接数(指向这个文件名路劲名称个数)

3、该文件的大小和不同的时间戳

4、指向磁盘上文件的数据块指针

5、有关文件的其他数据

文件的索引节点信息如下所示:

  在linux中,如ext3/4文件系统在创建时就已经创建了索引节点,所以每个分区的所以节点是有数量限制的,但是系统会自动分配索引节点,保证inode的最大使用效率,当一个分区中所有的索引节点都被使用完后,就无法再创建新的文件了。

索引节点的指针结构:

系统读取数据的过程:

更多推荐

linux文件索引号,linux文件系统索引节点浅析