本格的にLinuxを利用し始めると、追加インストールしたプログラムや、ユーザーの作成したファイルによって、ディスクの空き容量に余裕がなくなってくる。使い切ってしまうと、ユーザーの作業ができなくなるだけでなく、ログファイルなどの書き込みもできなくなってしまうので、システムにとっても具合が悪い。
ディスクの空き容量を調べるには、dfコマンドを用いる(画面8)。すると、接続されているファイルシステムごとに容量が報告される。数値がわかりにくければ、hオプションを付けてみよう。わかりやすいサイズで表示してくれる。
USER$ df ファイルシステム 1k-ブロック 使用済 使用可 使用率% マウント場所 /dev/hda5 147766 56248 83889 40% / /dev/hda7 1304468 596244 641960 48% /home /dev/hda6 1517920 926340 514472 64% /usr /dev/scd0 598872 598872 0 100% /home/ftp/pub/cdrom /dev/hda1 3204644 2520180 684464 79% /mnt/dos USER$ df -h ファイルシステム サイズ 使用済 使用可 使用率 マウント場所 /dev/hda5 144M 55M 82M 40% / /dev/hda7 1.2G 582M 627M 48% /home /dev/hda6 1.4G 905M 502M 64% /usr /dev/scd0 585M 585M 0 100% /home/ftp/pub/cdrom /dev/hda1 3.1G 2.4G 668M 79% /mnt/dos
画面8 dfコマンドでディスクの利用内容を表示する
ファイルやディレクトリをコピーするとき、どのくらいの容量が必要なのかを調べたいことがある。このような用途にはduコマンドを使う。
duコマンドをオプションを付けないで実行すると、全てのサブディレクトリごとに使用サイズが表示され、最後に合計が出力される。
USER$ du /etc 5 /etc/profile.d 15 /etc/X11/WindowMaker 33 /etc/X11/wmconfig 4 /etc/X11/twm : : 2310 /etc
この例では、/etcディレクトリ全体で2310ブロック使われている。1ブロックは1Kバイトなので、全体で約2.3Mバイトとなる。
引数に指定をしたディレクトリの合計だけが必要な場合は、sオプションを指定する。さらにhオプションも指定をすると、わかりやすい単位で表示してくれる。
USER$ du -s /bin 4828 /bin USER$ du -sh /etc 2.3M /etc
サブディレクトリごとに合計を出力したい場合は、次のようにディレクトリの指定をスラッシュで終らせる。
USER$ du -sh /etc/*/ 158k /etc/X11 204k /etc/charsets 41k /etc/codepages 2.0k /etc/cron.d 8.0k /etc/cron.daily : :