什么是 inode?
在 Linux 和 Unix 类操作系统中,inode(index node,索引节点)是文件系统中用于存储文件元数据的数据结构。 每个文件(包括目录)都有一个唯一的 inode 编号,它包含了除文件名和实际数据内容之外的所有信息。
inode 包含哪些信息?
- 文件类型(普通文件、目录、设备等)
- 文件权限(读、写、执行)
- 所有者(User ID)和所属组(Group ID)
- 文件大小(以字节为单位)
- 时间戳(创建时间、修改时间、访问时间)
- 指向文件数据块的指针
- 硬链接计数
如何查看 inode 信息?
使用以下命令可以查看文件的 inode 编号和详细信息:
ls -i filename:显示文件的 inode 编号stat filename:显示完整的 inode 信息df -i:查看文件系统的 inode 使用情况
inode 与硬链接、软链接
硬链接是指多个文件名指向同一个 inode,因此它们共享相同的元数据和数据内容。 删除其中一个硬链接不会影响其他链接,只有当硬链接计数归零时,inode 才会被释放。
软链接(符号链接)是一个独立的文件,其内容是指向另一个文件路径的字符串,拥有自己的 inode。
常见问题
Q:磁盘还有空间,为什么无法创建新文件?
A:可能是 inode 已耗尽。使用 df -i 检查 inode 使用率。
Q:如何查找某个 inode 对应的文件?
A:使用 find /path -inum <inode_number> 命令。