Macでディスク使用量調査ツールncduを使用する方法と無限ループ回避

LinuxやMacではターミナルでディスク使用量を「NCurses Disk Usage(ncdu)」というツールで詳しく調べることができるが、macOS Catalina以降ではシステム全体のスキャンをした場合に無限ループに陥るため、「ncdu」のインストール方法と無限ループ回避方法をまとめる。

Macでncduをインストールする手順

1. Homebrewをインストール

まずパッケージマネージャであるHomebrewを下記コマンドを実行してインストール。

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

パスワードの入力を求められたら管理者パスワードを入力しエンターキー。

続いて「Press RETURN ~」と表示されたらエンターキー。

上記画面が表示されたらHomebrewのインストールは完了。

2. ncduをインストール

続いて下記コマンドを実行して「ncdu」をインストール。

brew install ncdu

上記画面になったら「ncdu」のインストールは完了。

無限ループを回避してシステム全体をスキャンする方法と使い方

通常「ncdu」を用いてシステム全体をスキャンするには下記コマンドを実行するのが一般的だ。

ncdu -x /

しかし、冒頭で書いた通りこのコマンドではmacOS Catalina以降の場合、/System/Volumes/Dataのスキャンがいつまで経っても終わらずに無限ループに陥ってしまう。

上記画像ではディスクの実際の使用量を超えてもスキャンが終わらず、ストップさせない限り永遠にカウントされる。

これを回避するには下記コマンドで/System/Volumes/Dataを除外してスキャンしよう。

ncdu --exclude /System/Volumes/Data -x /

除外してスキャンすれば正常にスキャンが完了し以下のような画面が表示されるはずだ。

あとはキーボードの矢印キーでディレクトリを選択して使用量やファイルサイズを好きにチェックしよう。

?キーを押せばHelpを表示することも可能だ。

またiキーでファイル・ディレクトリの詳細情報を表示したりといったことも可能。

「ncdu」を終了するにはQキーを押す。

ncduのオプション・キー・フラグは膨大な種類に上るため下記マニュアルも参考になる。

参考 Ncdu ManualNCurses Disk Usage

このツールはターミナルを使用する必要はあるものの、矢印キーだけで簡単にディレクトリを移動できるなど操作が直感的な他、通常のFinderではどうやっても表示できないDS_Storeファイルなども表示可能なので個人的にはとても気に入っている。

まとめ

「ncdu」ツールはつい最近まで存在を知らず、いざ使用したところ無限ループにハマったため、もし同様の問題で躓いた場合は本記事の方法を参考にしてほしい。