stat 命令可准确读取文件 inode 元数据,显示 inode 号、atime/mtime/ctime 三时间戳及权限、大小、链接数等;-c 选项支持定制输出,stat -f 则用于查看文件系统级 inode 使用情况。

直接用 stat 命令就能一次性看到文件的 inode 号、atime/mtime/ctime 三类时间戳,以及权限、大小、链接数等完整属性——它不依赖文件名,而是读取底层 inode 元数据,结果最准确。
查看完整 inode 信息(含编号与三时间)
运行 stat 文件名,例如:
stat /etc/passwd
输出中会明确标出:
- Inode: 后面的数字就是该文件的 inode 编号
- Access: 对应 atime(最后访问时间)
- Modify: 对应 mtime(最后内容修改时间)
- Change: 对应 ctime(最后元数据变更时间,如 chmod、chown、写入内容)
注意:ctime 不是创建时间,但它是唯一无法被 touch 命令伪造的时间戳,适合用于判断真实操作发生时刻。
只提取 inode 号和三时间戳(简洁输出)
用 -c 格式化选项可定制输出,避免冗余信息:
stat -c "inode: %i | atime: %x | mtime: %y | ctime: %z" /var/log/syslog-
%x、%y、%z分别输出 atime/mtime/ctime,默认带纳秒精度和时区 - 若需 UTC 时间,可配合 TZ=UTC 或用
%y+ date 转换
同时看权限、链接数、属主等关键属性
默认输出已包含这些字段,重点关注:
- Links: 硬链接数量,反映有多少路径指向这个 inode
- Uid/Gid: 数字形式的用户 ID 和组 ID
- Access: 八进制权限(如 0644),首位表示 setuid/setgid/sticky 位
- Size: 字节数;Blocks: 实际占用的数据块数
如果括号里八进制和字符权限不一致(如 (0664/-rw-rw-r--)),说明存在 ACL,需用 getfacl 进一步检查。
查文件系统级 inode 使用情况(不是单个文件)
单个文件的 stat 不显示总量或剩余量。要了解整个分区的 inode 状况,得加 -f:
-
stat -f /—— 查根分区的 inode 总数、已用数、可用数 - 对比
df -i,stat -f 更底层、更精确,尤其在 XFS/ext4 等文件系统上 - 若发现 “Inodes: 100%”,即使磁盘空间充足,新建文件也会失败











