ncdu

ncdu (NCurses Disk Usage)はディスク使用量をターミナル上のUIで表示するツール。

duの出力を読む代わりに、カーソルでディレクトリを掘り下げながら容量の内訳を確認できる。ディスクの空き容量が減ったときに、どのディレクトリが容量を占めているかを短時間で特定できる。

インストール

Homebrewでインストールする。

$ brew install ncdu

基本的な使い方

調べたいディレクトリを引数に渡して起動する。

$ ncdu ~/work

スキャンが完了すると、ディスク使用量の大きい順に一覧が表示される。

ncdu 2.9.2 ~ Use the arrow keys to navigate, press ? for help
--- /Users/example/work --------------------------------------------------------
  402.0 MiB [###########] /media-archive
  225.0 MiB [######     ] /backup
  179.1 MiB [####       ] /sample-app
    4.0 MiB [           ] /docs




*Total disk usage: 810.1 MiB   Apparent size: 785.2 MiB   Items: 16

行の先頭の数値がディスク使用量。[###]のグラフは同じ階層のなかでの占有割合を表す。名前の先頭に/が付く項目はディレクトリ。

最下行にはスキャンした範囲の合計が表示される。

キー操作

キー動作
カーソル移動
Enter 選択したディレクトリを開く
親ディレクトリに戻る
sディスク使用量順に並べ替え
n名前順に並べ替え
gグラフとパーセント表示を切り替え
c配下の項目数の表示を切り替え
i選択した項目の情報を表示
r現在のディレクトリを再スキャン
d選択したファイル・ディレクトリを削除
?ヘルプを表示
q終了

大きなディレクトリを探す手順

1. 調べたい範囲の最上位からスキャンする

どこが容量を占めているか見当が付かない場合は、ホームディレクトリのような上の階層からスキャンする。

$ ncdu -x -r ~

-xオプションは同一ファイルシステム内だけをスキャンする。ncdu -x -r /のようにルートから調べる場合、/Volumes配下にマウントした外付けドライブやネットワークボリュームをたどらずに済む。

-rオプションを付けると読み取り専用で起動し、dキーによる削除が無効になる。読み取り専用のときは画面右上に[readonly]と表示される。調査だけが目的なら付けておくと誤操作を防げる。

2. 一番上の項目から掘り下げる

一覧はディスク使用量の降順に並んでいる。一番上の項目にカーソルを合わせてEnterで開くと、その配下の内訳が同じ形式で表示される。

ncdu 2.9.2 ~ Use the arrow keys to navigate, press ? for help
--- /Users/example/work/media-archive ------------------------------------------
                          /..
  321.0 MiB [###########] /videos
   81.0 MiB [##         ] /photos




*Total disk usage: 402.0 MiB   Apparent size: 398.0 MiB   Items: 4

先頭の/..は親ディレクトリを指す項目。カーソルを合わせてEnterを押しても親に戻れる。

同じ操作を繰り返し、グラフの長い枝をたどっていく。

ncdu 2.9.2 ~ Use the arrow keys to navigate, press ? for help
--- /Users/example/work/media-archive/videos -----------------------------------
                          /..
  321.0 MiB [###########]  interview-2025.mov




*Total disk usage: 321.0 MiB   Apparent size: 320.0 MiB   Items: 1

media-archiveの402.0 MiBのうち321.0 MiBをinterview-2025.movが占めていると分かる。

3. 見つけたファイルの詳細を確認する

iキーを押すと、選択した項目の詳細が表示される。

          ┌── Item info ─────────────────────────────────────────────┐
          │                                                          │
          │  Name: interview-2025.mov                                │
          │  Type: File                                              │
          │     Disk usage: 321.0 MiB (336,592,896)                  │
          │  Apparent size: 320.0 MiB (335,544,320)                  │
          │                                                          │
          │                             Press i to close this window │
          └──────────────────────────────────────────────────────────┘

Disk usageは実際にディスク上で占有しているサイズ、Apparent sizeはファイルそのもののサイズ。もう一度iキーを押すと閉じる。

4. 親に戻って次の候補を調べる

キーで親ディレクトリに戻り、次に大きい項目を同じ手順で掘り下げる。上位数件をたどれば、容量を消費している場所はおおむね把握できる。

ファイルを削除した後はrキーで再スキャンすると、削除後のサイズが一覧に反映される。

表示の切り替え

割合を数値で確認したい場合はgキーを押す。押すたびにグラフのみ、パーセントのみ、両方、非表示の順に切り替わる。

ncdu 2.9.2 ~ Use the arrow keys to navigate, press ? for help
--- /Users/example/work --------------------------------------------------------
  402.0 MiB [ 49.6% ###########] /media-archive
  225.0 MiB [ 27.8% ######     ] /backup
  179.1 MiB [ 22.1% ####       ] /sample-app
    4.0 MiB [  0.5%            ] /docs

cキーを押すと、ディレクトリ配下の項目数が表示される。サイズは小さくてもファイル数が極端に多いディレクトリを探す場合に役立つ。

ncdu 2.9.2 ~ Use the arrow keys to navigate, press ? for help
--- /Users/example/work --------------------------------------------------------
  402.0 MiB [ 49.6% ###########]      4 /media-archive
  225.0 MiB [ 27.8% ######     ]      1 /backup
  179.1 MiB [ 22.1% ####       ]      6 /sample-app
    4.0 MiB [  0.5%            ]      1 /docs