Linux 文件系统 -- inode 笔记
什么是 inode inode 的定义:Unix 文件系统中的一种数据结构,用来存储文件的元信息数据 文件在硬盘中的存储是以"块"(block)为单位的,常见的块大小是 4k 一个稍微大一点的文件则会存储在多个块中,那么如何快速访问到这些数据呢?答案就是 inode 在文件系统中,每个文件对象都对应着一个 inode,其中存储着常用的一些信息(所有者、创建时间、修改时间、文件权限、对应文件对象在系统中存储块的位置等等) 操作系统访问一个文件时分为三个步骤: 通过文件名找到对应的 inode 编号 通过 inode 编号访问对应文件对象的元信息 根据元信息找到文件对应的 block,读取数据 从上面的描述可以看出,inode 实际上就是文件系统中的一种索引,便于管理文件以及快速访问数据 关于 inode 的一些细节 inode 的内容 POSIX 标准定义了 inode 所包含的信息: 以字节为单位表示的文件大小 设备ID,标识容纳该文件的设备 文件所有者的 User ID 文件的 Group ID 文件的模式(mode),确定了文件的类型,以及它的所有者、它的 group、其它用户访问此文件的权限 额外的系统与用户标志(flag),用来保护该文件 3 个时间戳,记录了 inode 自身被修改(ctime, inode change time)、文件内容被修改(mtime,