Bash
Linux

du -h -d 1 | sort -h が優勝

du コマンドでディレクトリごとのディスク使用量をみよう

LinuxサーバーやMacでディスク使用量をみるのに便利なコマンドが、du。

素のduだとこういう動き

  • 全階層をたどって
  • ディスクの使用量をバイト数で表示

このままだとちょっと不便。

  • 今いるディレクトリの一回層目だけをとりたい
  • バイト数じゃなくて、GBやMBの単位でみたい
  • サイズ順に並べたい

これが一番便利なオプション

$ du -h -d 1 | sort -h

解説

  • -h で人が見やすいGBやMBの単位にしてくれる
  • -d 1 で一回層目だけ計算してくれる
  • sort を使うんだけど、10M と 1G の表示は、1Gの方が大きいとみなして並び替えてくれる

使い方

一回

$ du -h -d 1 | sort -h
  0B    ./lib
  0B    ./log
  0B    ./tmp
4.0K    ./.bundle
 20K    ./db
 24K    ./bin
 44K    ./test
 92K    ./config
236K    ./app
9.0M    ./.git
 12M    ./public
 13M    ./vendor
 34M    .

以降は、

$ !du

で、先の長いコマンドを再利用。

感想

  • いろんなコマンドで -h というオプションがあるのは知っていたけど、sort にも -h があるというのは超優しいね(これ昔なかったよね)
  • sort -h -r を使えば降順にソートもできるけど、大きなディレクトリが下にあった方が見やすいので昇順のままでいい
  • df と du 間違えがちなのはこっ恥ずかしいので内緒