Answers:
传递-s
到du
会将输出限制为仅在命令行上指定的项目。
du -sh ~
Du只会显示每个文件夹的总数,而不是每个用户的总数。
例如,如果您想要的总大小,/home/example_user/
并且仅该example_user在该文件夹中有文件,则可能可行。如果其他用户中有文件,则不会得出您拥有的所有文件的大小,而是该文件夹中所有文件的总大小。
要获取每个用户的信息,请执行以下任一操作:
find /path/to/search/ -user username_whos_files_to_count -type f -printf "%s\n" | awk '{t+=$1}END{print t}'
注意,这使用GNU查找特定扩展。
/path/to/search/
。-type f
确保仅选择文件,否则还要计算目录的大小。(尝试创建一个空文件夹。它可能会使用4k磁盘空间)。-user username_whos_files_to_count
仅从一个用户中选择结果-printf "%s\n"
将打印尺寸。如果仅运行此部分的第一部分,则将获得数字列表。这些是文件大小。(除去所有其他内容,多亏了%s print命令,仅打印了尺寸。)
然后,我们可以将所有这些数字相加以获得摘要。在示例中,这是使用awk完成的。
du -sch
是经常使用的简单命令。尽管可以一揽子地完成,但要弄清混合在一起时谁拥有的东西要困难得多。我曾经使用过它,但是今天却很难重建它。