如何查找用户所有权下的所有文件的总大小?

时间:2013-05-04 19:43:42

标签: linux bash find

我正在尝试找出给定用户拥有的所有文件的总大小。

我试过这个:

find $myfolder -user $myuser -type f -exec du -ch {} +

但这给了我一个错误:

  

缺少exec的参数

我不知道如何解决它。有人可以帮我这个吗?

3 个答案:

答案 0 :(得分:2)

您只需要终止-exec。如果您想要每个目录的总计 可能需要-type d

find $myfolder -user $myuser -type d -exec du -ch {} \;

答案 1 :(得分:1)

使用:

find $myfolder -user gisi -type f -print0 | xargs -0 du -sh

用户gisi是我的猫;)

请注意摘要

选项-s

进一步请注意,我正在使用find ... -print0,它一方面将文件名分隔0个字节,这是文件名中不允许的少数几个字符之一,另一方面{ {1}}使用xargs -0字节作为分隔符。这确保即使异国情调文件名也不会成为问题。

答案 2 :(得分:0)

某些版本的find命令不喜欢“+”来终止find命令 使用 ”\;”而不是“+”