Linux中的inode是什么?
时间:2020-02-23 14:39:08 来源:igfitidea点击:
Linux中的Inode是一种数据结构,用于存储有关文件的元数据。
索引节点是索引节点的缩写。
它包含有关文件的以下信息:
- 文件的用户ID
- 文件的组ID
- 设备编号
- 文件大小
- 创建日期
- 允许
- 文件的所有者
- 文件保护标志
- 链接计数器,确定硬链接数
Linux以块形式将数据存储在内存中。
文件的索引节点包含存储文件的所有块的列表。
而目录的inode包含文件和目录到其各自inode的映射。
Linux系统在内部用文件的索引节点号而不是名称来标识文件。
这就是为什么索引节点不包含文件名的原因。
这也有助于维护多个硬链接,因为具有不同文件名的文件可以指向同一inode。
文件的符号名称存储在封闭目录中,而不存储在inode中。
多个文件指向同一个inode
查看索引节点状态
系统上inode的总数是有限的,可以使用以下命令进行访问:
$df -i
下表显示了不同文件系统的inode用法。
IFree是可以自由使用的inode数量。
IUsed是使用中的索引节点数。
使用ls命令查找inode
您可以使用带有-i标志的ls来获取inode编号以及ls命令输出。
ls -i
每个文件名之前的数字表示该文件的索引节点号。
索引节点一起存储在一个表中,索引节点号是存储该特定索引节点的索引。
创建文件时分配一个inode。
表中的第一个空闲索引节点将被覆盖,以分配给正在创建的文件。
查看文件统计
可以使用以下命令查看文件或者目录的统计信息:
$stat [file_name]
这里的" example.txt"是一个文本文件,而"测试"是一个目录。
stat命令显示为文件分配的内存块数,索引节点数,链接数和访问权限。