【Mac】ハードディスク容量を圧迫しているディレクトリをあぶり出す方法

「お使いの起動ディスクはほとんど一杯です。」のダイアログ

先日、Macを使っていると「お使いの起動ディスクはほとんど一杯です。」というダイアログが表示されました。

Macを買って以来ずっとデータの整理を放置していたので、これを機にどのくらいハードディスクが一杯で、主にどのディレクトリが原因で一杯になっているのか確認しました。

ハードディスク全体の空き容量の確認方法

Finderから[Machintosh HD]を右クリックして「情報を見る」を選択します。

Macのハードディスクの空き容量の確認方法

すると、空き容量が1GBを下回っていて、ホントにほとんど一杯でした^^;

Macのハードディスクの空き容量

ディレクトリ毎の使用容量の確認方法

指定したディレクトリの合計サイズを算出する

ターミナルを起動して、sudo du -sh /*というコマンドを打つとルート直下のディレクトリがどのくらいの容量を使用しているのか確認できます。
時間がかかるので、このコマンドを打ったらご飯でも食べて気長に待ちましょう。

以下は、duコマンドとそのオプションの意味です。

du ディレクトリ内のファイルのサイズを表示する
-s 引数で指定したディレクトリの合計サイズを表示する
-h サイズを人が読みやすい単位で表示する

またsudoコマンドを併用しているのは、一般ユーザ権限ではアクセスできないディレクトリも算出対象にするためです。

$ sudo du -sh /*
Password:
 21G    /Applications
 17G    /Data
8.2G    /Library
  0B    /Network
6.1G    /System
161G    /Users
 55G    /Volumes
1.2G    /anaconda
2.5M    /bin
### 省略 ###
$

実行結果から/Usersのサイズが161GBで一番大きいことが分かるので、今度は引数にそのディレクトリを渡してその中のサイズを算出します。

$ sudo du -sh /Users/*
Password:
1.4M /Users/Shared
161G /Users/username
$

次は/Users/usernameのサイズが一番大きいので、今度は引数にそれを渡して再度サイズを算出する、ということを繰り返してどのディレクトリが一番容量を圧迫しているかを突き止めます。

$ sudo du -sh /Users/username/*
Password:
 13M    /Users/username/AndroidStudioProjects
  0B    /Users/username/Applications
348K    /Users/username/Creative Cloud Files
220K    /Users/username/Desktop
 14M    /Users/username/Documents
6.5G    /Users/username/Downloads
 25M    /Users/username/Dropbox
 35G    /Users/username/Library
412K    /Users/username/Lightworks
 46M    /Users/username/Movies
 26M    /Users/username/Music
 27M    /Users/username/Pictures
  0B    /Users/username/Public
 29G    /Users/username/VirtualBox VMs
$

合計サイズが大きい順に並び替える

表示される項目が多くて、ぱっと見でどれがサイズが大きいかが分かりづらい場合は、以下のようにdusortを組み合わせます。

  1. duコマンドのhオプションを外して、Byte単位でサイズ表示。
  2. その結果をsortコマンドに渡して、サイズが大きい順に並び替えて表示。

以下は、sortコマンドとそのオプションの意味です。

sort 与えられた文字列を行毎に並び替える
-n 行頭の数字を値(文字列ではない)と解釈してソートする
-r 降順にソートする
$ sudo du -s /Users/username/* | sort -nr
74146928    /Users/username/Library
61635552    /Users/username/VirtualBox VMs
13733288    /Users/username/Downloads
93256   /Users/username/Movies
55944   /Users/username/Pictures
52248   /Users/username/Music
50488   /Users/username/Dropbox
28912   /Users/username/Documents
26080   /Users/username/AndroidStudioProjects
824 /Users/username/Lightworks
696 /Users/username/Creative Cloud Files
440 /Users/username/Desktop
0   /Users/username/Public
0   /Users/username/Applications
$

隠しディレクトリも算出対象にする

隠しディレクトリ(.が名前の先頭にある)も算出対象に含めたい場合は、以下のようにワイルドカードを組み合わせて使います。

$ sudo du -s /Users/username/{*,.[^.]*} | sort -nr
92117536    /Users/username/.vagrant.d
74156888    /Users/username/Library
61635552    /Users/username/VirtualBox VMs
52591256    /Users/username/.android
24822824    /Users/username/.Trash
13733288    /Users/username/Downloads
### 省略 ###
$

まとめ

Macでどのディレクトリが一番ハードディスクの容量を圧迫しているのかを突き止めるコマンドをまとめました。最後に書いた以下のコマンドを使っていれば、大抵は指定したディレクトリの中身の合計サイズが把握できます。

$ sudo du -s /directory_name/{*,.[^.]*} | sort -nr

これでデータ整理をする計画が立てられるようになったので、あとは余分なデータは削除したり、残しておきたいデータは外部メモリやクラウドに移すなりするだけです。

私の場合、割と無駄なデータは蓄えていなかったので、

  • ゴミ箱のデータがある/Users/username/.Trash
  • ダウンロードしたデータがある/Users/username/Downloads

を整理しただけでひとまず終わりにしました。