我通常使用下面的语法来查找“当前”目录中所有目录的 inode:
find . -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c | sort -rn
但是现在我想一次计算多个目录,例如 /home1 /home2 /home3 等等,因此我尝试:
find /home*/* -printf "%h\n" | cut -d/ -f-2 | sort | uniq -c
它没有给我通常的结果,因为它只计算每个 /home 目录的总 inode 数,而不是 /home*/* 内容的 inode 数。
请指教。
答案1
您是否真的可以通过这种方式计算 inode 数量是有争议的(考虑一下硬链接,每个硬链接是否都应该增加数量?)但我认为您对第一个命令没有异议。
分析一下cut -d/ -f-2
会发生什么。在第一种情况下,它在这里被切断:
./example/foo/bar/…
^ here
在第二种情况下,它在这里切断:
/home-whatever/whoever/baz/…
^ here
似乎这不是您想要剪切的位置。调整命令cut
。