我试图找出给定用户拥有的所有文件的总大小。
我试过这个:
find $myfolder -user $myuser -type f -exec du -ch {} +
但这给了我一个错误:
缺少 exec 的参数
而且我不知道如何解决它。有人可以帮我吗?
您只需要终止 -exec。如果您想要每个目录的总数,可能-type d
是必需的。
find $myfolder -user $myuser -type d -exec du -ch {} \;
利用:
find $myfolder -user gisi -type f -print0 | xargs -0 du -sh
用户gisi
是我的猫;)
注意-s
汇总选项
进一步注意,我使用find ... -print0
which 一方面按0
字节分隔文件名,这是文件名中不允许的少数字符之一,另一方面xargs -0
使用0
字节作为分隔符。这确保即使是异国情调的文件名也不会成为问题。
某些版本的 find 命令不喜欢使用“+”来终止 find 命令,使用“\;” 而不是“+”