du 命令的结果不一致

1 disk-usage

我正在尝试在已满的磁盘上追踪最大的磁盘用户。我通常为此使用 du 命令,但这次我从中得到奇怪的不一致结果,我不明白。

我已经确定了一个据称使用 78GB 空间的用户:

# cd /home/userx
# du -sxk .
78066324    .
Run Code Online (Sandbox Code Playgroud)

但是当再次对所有文件运行 du 以确定哪些文件最大时,我得到了截然不同的结果:

# du -sxk * | sort -n
.
.
.
76240   RPMS
80828   save.oldcomputer
108536  docs
114472  rpmbuild
304652  chef-repo
Run Code Online (Sandbox Code Playgroud)

即前五个目录仅占用 500MB 多一点,如果将包括所有小的目录在内的整个目录加起来,它仍然小于 1GB。那么其他 77Gb 去哪儿了?

Mun*_*nir 7

很可能是隐藏文件。*扩展时不包含隐藏文件,因此du不会报告它们。

尝试 du -axkd1 . | sort -n

  • @Stephan,如果文件未链接,`du` 怎么会遇到它出现在报告中? (3认同)