du 报告目录大小远大于其内容的总和

du 报告目录大小远大于其内容的总和

du -shc *在顶层目录中运行会110G得到一个特定的文件夹,而在该文件夹内运行相同的命令会得到11G.这怎么可能?

平台详细信息: 操作系统:CentOS 6.6 x86_64 驱动器类型:固态 卷类型:RAID 6 阵列 RAID 控制器:LSI MegaRAID SAS 文件系统:ext3

答案1

很可能您的文件夹中有隐藏文件。要点是 glob*仅选择不以 开头的文件和文件夹.。因此,即使他们这样做了,也不会被传递给du命令。另一方面,从顶层目录中,您可以获得整个目录的大小,包括点文件。

要匹配给定文件夹中的所有文件,包括隐藏的文件,请尝试(使用bash

du -shc -- {.[!.],..?,}*

或设置选项dotglob以便*也匹配隐藏文件:

shopt -s dotglob
du -shc -- *

相关内容