什么是inode节点?
在Linux和Unix类操作系统中,inode(索引节点)是文件系统中用于存储文件元数据的数据结构。 每个文件(包括目录)都有一个唯一的inode编号,它记录了文件的权限、所有者、大小、时间戳、数据块位置等信息, 但不包含文件名和实际内容。
inode包含哪些信息?
- 文件类型(普通文件、目录、设备等)
- 文件权限(读、写、执行)
- 文件所有者(用户ID和组ID)
- 文件大小(以字节为单位)
- 时间戳(创建时间、修改时间、访问时间)
- 指向数据块的指针(用于定位文件内容)
- 硬链接计数
如何查看inode信息?
常用命令:
ls -i:显示文件的inode编号stat filename:查看文件的详细inode信息df -i:查看文件系统inode使用情况
注意:du 统计的是磁盘使用空间,而 df -i 显示的是inode使用数量,两者可能不同步。
常见问题与应用场景
- “磁盘未满但无法创建文件”:可能是inode耗尽,使用
df -i检查。 - 硬链接原理:多个文件名指向同一个inode,删除一个不影响其他链接。
- 恢复误删文件:若文件被删除但进程仍在使用,可通过
/proc下的文件描述符恢复(需inode未被覆盖)。