各サブディレクトリのサイズを要約するdu(ディスク使用量)コマンドフラグはありますか?

各サブディレクトリのサイズを要約するdu(ディスク使用量)コマンドフラグはありますか?

私は次のようなディレクトリ構造を持っています(はい) -

main
|--src
    |--com
        |- company
    |--org
        |- apache
|--resources
    |--abc
|--etc

このディレクトリの下の各サブディレクトリで使用されるディスク容量が必要ですmain。その後、出力は次のようになります。

user@main> du -{command_switches}
1M  src
20M resources
3M  etc

sh、Sh、ash、aSHなど、いくつかの利用可能なスイッチを試しましたが、目的の結果が得られませんでした。

ベストアンサー1

一部duの実装では、-dディスク使用量が表示される深さではなく、ディスク使用量が表示される深さを制限するために1をサポートしています。会計)なので、du -hd 1 .現在のディレクトリに適用する必要があります。

移植可能な場合は、いつでも次のことができます。

find . ! -name . -prune -type d -exec du -s {} +

-h(実装でサポートする場合du追加)

ただし、現在のディレクトリに多くのfindディレクトリがある場合、呼び出しは何度も実行される可能性があり、duこれはいくつかのハードリンクが複数回評価されることを意味します。duまた、一部の実装では、他のパラメータを巡回している間にハードリンクが見つかった場合に、ハードリンクが複数回カウントされるのを防ぎません。


1.以前のバージョンのGNUの場合に変更する必要duがあるかもしれません--max-depth-dFreeBSDとの互換性のために、coreutils 8.8にのみ同等の短いオプションが追加されました。

おすすめ記事