我試圖找出給定用戶擁有的所有文件的總大小。如何查找用戶所有權下的所有文件的總大小?
我已經試過這樣:
find $myfolder -user $myuser -type f -exec du -ch {} +
但是,這給了我一個錯誤:
missing argument to exec
,我不知道如何解決它。有人可以幫助我嗎?
我試圖找出給定用戶擁有的所有文件的總大小。如何查找用戶所有權下的所有文件的總大小?
我已經試過這樣:
find $myfolder -user $myuser -type f -exec du -ch {} +
但是,這給了我一個錯誤:
missing argument to exec
,我不知道如何解決它。有人可以幫助我嗎?
用途:
find $myfolder -user gisi -type f -print0 | xargs -0 du -sh
其中用戶gisi
是我的貓;)
注意事項選項-s
總結
find ... -print0
進一步說明,其中,一方面用0
字節分隔文件名,這是文件名中不允許的幾個字符之一,另一方面xargs -0
,它使用0
字節作爲分隔符。這確保即使奇特的文件名也不會成爲問題。
你只需要終止-exec。如果您希望每個目錄的總數爲 可能需要-type d
。
find $myfolder -user $myuser -type d -exec du -ch {} \;
find命令的一些版本不喜歡 「+」 爲find命令 終止使用 「\;」而不是「+」
謝謝你的工作。 – minh911 2013-05-04 20:00:07
'+'應該也能工作;它告訴'find'傳遞多個參數(達到一定的內部限制),從而減少產生的子進程的數量。 – 2013-05-04 21:28:37