はじめに
Linuxサーバーを運用していると、突発的なストレージの枯渇トラブルに直面することが少なくありません。原因となっている大容量ファイルや肥大化したディレクトリを素早く特定するには、全体の使用状況を一目で把握できる環境が不可欠です。本稿では、ncursesを活用した直感的なテキストUI(TUI)でストレージ消費量を素早く精査・整理できる軽量ツールncduについて、インストール手順から現場で役立つ実践テクニックまで体系的に解説します。
ncduパッケージのインストールと動作確認
Ubuntu環境へncduを組み込むため、APTリポジトリ情報を最新化したうえでパッケージのインストールを行います。

セットアップ完了後、バイナリの導入確認を兼ねてバージョン情報を呼び出します。
⚙️ [代表的なコマンドライン引数]
-v : 導入されているncduのバージョンを出力します。-x : 調査対象と同一のファイルシステムのみをスキャンし、他マウントポイントの走査を抑制します。-r : 読み取り専用で起動し、UI上からの不意のファイル削除事故を未然に防ぎます。-q : 画面描画の更新インターバルを緩め、ディスクスキャン完了までの処理速度を向上させます。-o : 計測されたディレクトリ使用量の集計データを指定ファイルへ書き出します。-f : -oオプションで出力されたログファイルを読み込み、対話型UIで再確認します。

動作テスト用ダミーディレクトリと容量別サンプルの配備
ncduの階層型ビューを体感しやすいよう、mkdir -p ~/ncdu_practice/{logs,backups,media/videos}を実行してネスト構造を持つ検証用ディレクトリを用意します。

エラーログの肥大化を想定し、fallocate -l 20M ~/ncdu_practice/logs/app_error.logを実行して20MBのダミーファイルを配置します。

続いてバックアップ領域を模倣するため、fallocate -l 50M ~/ncdu_practice/backups/db_backup.tar.gzにより50MBのアーカイブ用テストファイルを割り当てます。

メディアストレージ向けとして、fallocate -l 100M ~/ncdu_practice/media/videos/demo_clip.mp4を使って100MBのモック映像ファイルを作成します。

展開したツリー構造と各ファイルのブロック割り当てが正しく反映されているかをls -lhR ~/ncdu_practiceで一括確認します。

ncduによるディレクトリ使用状況のインタラクティブな調査
先ほど準備した~/ncdu_practiceを対象に、描画負荷を抑えて高速スキャンを行う-qオプションを付与したncdu -q ~/ncdu_practiceを実行します。
TUI画面上では各フォルダの消費サイズが大きい順にソートされてグラフ表示されるため、ディスク圧迫の主因を直感的に絞り込めます。

実運用で肥大化しやすい/var/logを調査する場合、別パーティションやネットワークストレージを跨いで走査しないよう-xフラグを組み合わせてncdu -x /var/logを実行します。
対象ファイルシステム内のデータのみを厳密にトラバースできるため、無駄なI/O負荷を避けつつ正確なログ専有量を把握可能です。

スキャン結果の外部ファイル出力とオフライン閲覧
定期バッチ処理や外部持ち出しを見据え、ncdu -1xo- ~/ncdu_practice > ~/ncdu_practice/disk_usage.jsonを実行して構造化JSON形式で計測結果を保存します。
進捗を1行でシンプルに示す-1オプションと標準出力へデータを流す-o-を併用することで、シェルリダイレクト経由で安全にファイルへ永続化できます。

生成されたファイルが正常なJSON構造を保っているか検証するため、head -n 5 ~/ncdu_practice/disk_usage.jsonで先頭行をサンプリングします。
実行ツール情報やスキャン実行日時、ディレクトリ配下のファイルメタデータが整形された状態で記録されていることが分かります。

書き出したアーカイブデータを後から再調査する際は、ncdu -f ~/ncdu_practice/disk_usage.jsonでファイルを読み込みます。
ストレージを再スキャンするオーバーヘッドを一切伴わずにTUIビューアが即座に立ち上がるため、リモートサーバーの容量監査やオフライン環境での分析作業が大幅に効率化されます。

従来のduコマンドと異なり、ncduを活用することで複雑なパイプライン処理を組むことなく素早くディスクのボトルネックを洗い出せます。
本番サーバーのストレージ逼迫アラート対応や定期的なクリーンアップ運用にぜひ取り入れてみてください。