文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

macでディスク使用量のトップ10を表示するスクリプト

macでどのフォルダがディスクを占有しているのかを調べるためのスクリプトを作ってみました。

f:id:treeapps:20170104173704p:plain

たった6行のスクリプトですが、結構便利です。

check_disk_usage.sh

#!/bin/sh
dir=$1
head=$2
dir=${dir:-'/'}
head=${head:-10}
sudo du -h -m -x -d 1 $dir | sort -rn | head -$head

これだけです。
第一引数は「パス」で、省略した場合は / から検索、入力した場合はそのパス以降を検索します。
第二引数は「表示件数」で、省略した場合はトップ10を表示、入力した場合は入力件数だけ表示します。

実行してみる

tree-no-iMac:lib tree$ ./check_disk_usage.sh
Password:
57587	/
28962	/Users
10418	/Applications
5819	/private
5774	/System
5065	/Library
1017	/usr
282	/.Spotlight-V100
226	/opt
20	/.fseventsd

引数を省略したので、/からディスク使用量が多い順にトップ10が表示されています。単位はメガバイトです。

/から検索すると検索量が増えるので、遅くなります。

tree-no-iMac:lib tree$ ./check_disk_usage.sh /usr/local 2
445	/usr/local
191	/usr/local/appengine-java-sdk-1.9.17

こちらは引数を指定した場合です。 /usr/local 以降を検索し、ディスク使用量が多い順にトップ2が表示されています。

雑感

私は会社ではmacbook airを使っていますが、proと違ってディスク使用量が少ないので、結構このスクリプトのお世話になっています。

このスクリプトで調べる事で、「あれ?このフォルダこんなにディスク使ってたんだ」とか、「ここ1ファイルしかないけど3Gも使ってるなあ」とか、色々気づく事ができます。

ただ、何も考えずにファイルを削除すると色々不具合に繋がるので、削除していいかどうか不明な時はネットで調べるか、諦めた方が無難です。

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

[改訂新版] シェルスクリプト基本リファレンス  ??#!/bin/shで、ここまでできる (WEB+DB PRESS plus)

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54

[asin:B00LBPGFJS:detail]