如何通过stat系统调用深入探究文件底层Inode元数据?
- 内容介绍
- 文章标签
- 相关推荐
本文共计896个文字,预计阅读时间需要4分钟。
Linux/Unix下stat(或fstat)是获取文件Inode元数据的唯一标准途径,它不读取文件内容,只从VFS层拷贝内核中已缓存的Inode结构体字节数据。
关键点在于:
常用字段中真正对应底层Inode的是:st_ino(Inode号)、st_mode(类型+权限,含S_IFREG/S_IFDIR等宏)、st_nlink(硬链接数)、st_uid/st_gid、st_size(大小)、st_blocks(分配的512字节块数)、st_blksize(推荐IO块大小)。注意st_atime/st_mtime/st_ctime是内核维护的时间戳,但st_ctime并非“创建时间”,而是“Inode状态最后一次变更时间”(如chmod、chown都会触发)。
本文共计896个文字,预计阅读时间需要4分钟。
Linux/Unix下stat(或fstat)是获取文件Inode元数据的唯一标准途径,它不读取文件内容,只从VFS层拷贝内核中已缓存的Inode结构体字节数据。
关键点在于:
常用字段中真正对应底层Inode的是:st_ino(Inode号)、st_mode(类型+权限,含S_IFREG/S_IFDIR等宏)、st_nlink(硬链接数)、st_uid/st_gid、st_size(大小)、st_blocks(分配的512字节块数)、st_blksize(推荐IO块大小)。注意st_atime/st_mtime/st_ctime是内核维护的时间戳,但st_ctime并非“创建时间”,而是“Inode状态最后一次变更时间”(如chmod、chown都会触发)。

