パーソナルツール
現在の場所: ホーム Tips データの大きさ順にリストを表示させる方法

データの大きさ順にリストを表示させる方法

任意のディレクトリ内で、データの大きさ順にファイルやディレクトリのリストを表示させる方法

検証環境

OS:CentOS 5.1

ディスクの使用順にファイル/ディレクトリを表示させる

「du」「sort」「head」コマンドを組み合わせて、指定したディレクトリ内でディスク使用量順にリストを表示させる方法です。

書式
du -sk [ディスク使用量調査対象場所] | sort -rn | head -n [表示させたい行数]
duコマンドのオプション
  • s 指定した対象のみの使用量を表示させる。
  • k 1024バイト(1k)単位で表示させる。
sortコマンドオプション
  • r ソートの結果を逆にする(値の大きい順に表示する)
  • n 先頭の数字や記号を数値としソートする。
headコマンドのオプション
  • n [数値]  指定した数値の行だけ最初から表示する。

たとえば、先頭から15行分を表示させる場合は以下のように指定します。

head -n 15

コマンド使用例

「/var/log/」ディレクトリ内のログをの使用量「TOP10」を表示する方法
[root@www ~]# du -sk /var/log/* | sort -rn | head -n 10
17704   /var/log/audit
10320   /var/log/httpd
6196    /var/log/FireWall.log
5344    /var/log/sa
4232    /var/log/munin
3172    /var/log/maillog.1
2140    /var/log/maillog.3
2132    /var/log/maillog.2
2112    /var/log/maillog.4
1388    /var/log/cron.3
メールデータの容量を確認

Maildir形式でメールデータを保存している検証サーバ上で、 各ユーザのメールデータ保存量を保存量順にソートしてみました。

[root@www ~]# du -sk /home/*/Maildir/ | sort -rn | head
236     /home/tamo/Maildir/
216     /home/hoge/Maildir/
208     /home/fuga/Maildir/
44      /home/test_user/Maildir/