ホームディレクトリの下のすべてのディレクトリのGBサイズを確認するには?

ホームディレクトリの下のすべてのディレクトリのGBサイズを確認するには?

MacのBashでは、次のことができます。

cd         # go to home directory
ls -d */

ホームディレクトリのフォルダ名を取得します。

私達は利用できます

du -sh Documents

人間が読める形式でフォルダサイズを取得します。

私は次のことを試しました

ls -d */ | xargs du -sh 

Tmp Filesただし、一部のディレクトリにはその名前(スペースで区切られた2つの単語)があるため、機能しませんdu -sh Tmp Files

変更は可能ですか、それともdu -shすべてのトップレベルフォルダとフォルダ全体を処理するより簡単な方法はありますか?

ベストアンサー1

xargsを避けることができます。

du -sc */

を使用することは、「コマンドラインが長すぎます」エラーを避けるために何千ものディレクトリがある場合にのみ便利ですxargs(ただし、合計はなく、dubyへの各呼び出しの部分合計のみを取得できますxarg)。

他のコマンドでは、ファイル名の誤った解析を避けるために、空白や改行のxargs代わりにnull値で区切ってください。

printf '%s\0' * | xargs -0 du -s 

printf引数を繰り返し、最後にNULとして印刷し、xargオプションでNULに分割します-0)。これはprintf、バイナリを使用するときに一般的な行長制限がある組み込みシェルであると仮定します。

おすすめ記事