stat 命令可准确获取文件真实 inode 编号,不受符号链接干扰;用 -c "%i" 提取纯数字,lstat 查链接自身 inode;结合 %h 可判断文件是否已删未释放。

直接用 stat 命令就能准确查到文件的 inode 编号,它是唯一能从磁盘 inode 表里一次性读出真实编号的工具,不是推算值,也不受符号链接干扰(默认解析目标)。
查单个文件的 inode 号
执行 stat 文件名,输出中找 “Inode” 字段。例如:
stat /etc/hosts
输出里会有一行:Inode: 123456
注意:这个编号只在当前文件系统内唯一;不同挂载点(如 / 和 /home)可能有相同 inode 号。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
只显示 inode 号,不看其他信息
用 -c 选项定制输出,干净又适合脚本:
-
stat -c "%i" /etc/hosts→ 只输出数字 123456 -
stat -c "%n %i" *.conf→ 批量显示每个 .conf 文件名和对应 inode 号 - 含空格的路径也安全:
stat -c "%i" "my file.txt"
区分符号链接本身和它指向的目标
默认情况下,stat file.sh 对软链接会显示目标文件的 inode;如果想看链接文件自己的 inode(即链接这个“文件”的编号),加 -L 不起作用,得改用 lstat:
-
stat /path/to/link→ 显示目标文件的 inode -
lstat /path/to/link→ 显示链接自身这个文件的 inode
验证 inode 是否被占用或已删未释放
结合硬链接数(%h)一起看更实用:
stat -c "%i %h" /var/log/app.log- 若输出是
789012 0,说明该文件已被unlink()删除,但仍有进程在读写——这是日志轮转后常见现象,inode 暂未真正回收










