在网上查了很多资料后,我仍然不太清楚一个文件和一个文件夹需要多少个inode。
另外,我注意到索引节点以千字节显示,而不是基数。
那么如何计算文件或文件夹所需的 inode 数量呢?
PS我的错,似乎在输出中意味着成千上万而不是千字节和兆字节K
。M
$ sudo df -ih/
在网上查了很多资料后,我仍然不太清楚一个文件和一个文件夹需要多少个inode。
另外,我注意到索引节点以千字节显示,而不是基数。
那么如何计算文件或文件夹所需的 inode 数量呢?
PS我的错,似乎在输出中意味着成千上万而不是千字节和兆字节K
。M
$ sudo df -ih/
一个文件只有一个inode,因为它是唯一标识文件的 inode。您可以有多个名称/路径指向同一个 inode,这称为“硬链接”。
当您列出带有 的文件时
ls -l
,一列是对 inode 的引用数(即指向它的路径数)。对于文件,它通常是1
,除非已明确创建硬链接:上面,
single
是一个文件的名称,只有一个路径,而linked*
同一个 inode 的三个名称。如果ls -il
要显示 inode:这证实了这三个
linked*
文件实际上是同一个inode。如果我们rm linked2
,其余名称中的引用计数会减少:对于目录,引用计数通常是 2 加上子目录的数量(AFAIK、“正常”引用(来自父目录)、
.
目录本身和..
每个子目录中的 )。否则,一个文件(或目录)可以使用多个分配块,具体取决于内容,这可能会在文件的生命周期内发生变化。