什么是 inode?
在 Linux 和 Unix 类操作系统中,inode(索引节点)是文件系统用来存储文件元数据的数据结构。 每个文件(包括目录)都有一个唯一的 inode 编号,用于标识和管理该文件。
inode 存储哪些信息?
- 文件类型(普通文件、目录、符号链接等)
- 文件权限(读、写、执行)
- 所有者 UID 和组 GID
- 文件大小(以字节为单位)
- 时间戳(创建时间、修改时间、访问时间)
- 指向数据块的指针(即文件内容的实际位置)
- 硬链接计数
注意:文件名不存储在 inode 中,而是存储在目录项中。
如何查看 inode 信息?
使用以下命令可以查看文件的 inode 编号和详细信息:
ls -i filename:显示文件的 inode 编号stat filename:显示完整的 inode 信息df -i:查看文件系统的 inode 使用情况
常见问题
Q:为什么磁盘还有空间却无法创建新文件?
A:可能是因为 inode 已耗尽。即使有剩余存储空间,若 inode 用完,也无法创建新文件。
Q:硬链接和软链接与 inode 有什么关系?
A:硬链接共享同一个 inode,而软链接(符号链接)拥有自己的 inode,内容是指向目标路径的字符串。