duコマンドでディレクトリごとの容量を一発で出力する

2017/02/23

du -sh /tmp とすると、/tmp 以下の合計容量が取得できるが、/tmp 以下にあるディレクトリごとの容量を取得するには、ちょっとした小手先のテクニックが必要となる。
※-sは総計を表示するオプション
 -hは容量を適当な単位で表示するオプション

結論は du -sh /tmp/*/ であるが、良く使用するのは「今いるディレクトリ以下の各ディレクトリごとの容量」なので、それをメインで書き、説明していく。

なぜ ./*/ になるのか?

まず *だけだと、ファイルも含めた全てを指すことになる。
下の実行結果をみると、 *の場合の表示個数にはファイルを含んでいる。

./*は実質、 *と同じ意味。

./*/は、「ファイルも含めた全て」のうち、さらに /を最後に付けられるもの、つまりはディレクトリを示している。
ファイルを除いた、今いるディレクトリ以下の各ディレクトリを列挙することができているので、duコマンドは列挙されたそれぞれのディレクトリに対して処理を行っているのだ。

-Linux
-