我一直在研究统计系统上所有文件的不同方法。就我而言,我希望统计从 / 开始并进入子文件夹的所有文件。以下是我目前想到的方法:
方法#1
# df --inodes /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/sys-root 1602496 71756 1530740 5% /
在这里我关心的是(我认为) IUsed 列。71756.
方法 #2
# find . -xdev -print | wc -l
74194
这是第一个差异。我的理解是每个 inode 代表一个文件,这应该是最准确的数字。然而,在第二个命令中,我不确定它还找到了什么。
方法 #3
# find . -type f | wc -l
127470
我从 / 运行了这个程序。我期望得到接近上述数字的结果,但正如您所看到的,结果并不接近。有人能解释这些差异吗?告诉我,我提供的三种方法中,哪一种能给出我系统上 / 下文件总数最准确??或者建议一种更好的方法?
答案1
嗯,关于您的最后一个命令,它还会在 /dev、/proc、/cgroup、/sys 中进行搜索。您不想计算这些。
编辑:在您可能拥有的任何其他已安装的 fs 中