为什么 du 的子目录值之和不等于总和?

为什么 du 的子目录值之和不等于总和?

我试图用来du调查目录中的磁盘使用情况,如下所示:

du -hd1 | sort -rh

这给了我一个列表,开头如下

61G     .
7.9G    ./A
5.1G    ./B
2.7G    ./.C
1.6G    ./.D
1.2G    ./.E
1.2G    ./F
850M    ./.G
724M    ./H
666M    ./I
281M    ./J
249M    ./.K
150M    ./.L

列表的其余部分总计不到 1GB,并且该目录中没有直接包含大文件:

ls -Slh
total 1.8M
...

目录总和 61GB 与小于 25GB 的总和之间的差异的根源是什么?

答案1

上面的调用错过了大的隐藏文件。这是结果du -a

du -ahd1 .  | sort -rh | head
61G     .
38G     ./.xsession-errors
7.9G    ./A
5.1G    ./B
...

答案2

据我了解,du计算整体子树用法,-d1仅选项印刷数据直至第一层次结构级别。您ls只计算第一级。

答案3

如果你只想要一个总数;

# du -ms

相关内容