本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「du」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ディレクトリごとにディスクの使用量を集計して表示する「du」コマンドです。
「du」は、ディスクの使用量をディレクトリごとに集計して表示するコマンドです。ファイルを指定した場合は指定したファイルのサイズのみ、ディレクトリを指定した場合はそのディレクトリおよび全てのサブディレクトリの使用量を集計します。対象を指定しなかった場合は、カレントディレクトリの使用量が表示されます。
なお、アクセス権限のないファイルやディレクトリについては、集計対象となりません。システム全体をチェックしたい場合は、「root」ユーザーで実行しましょう。
duコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-S | --separate-dirs | サブディレクトリのサイズを含めない |
-s | --summarize | 指定したディレクトリの合計のみを表示する(サブディレクトリの行が表示されなくなる) |
-d深さ | --max-depth=深さ | 集計するディレクトリの深さを指定する(「--max-depth=0」は「--summarize(-s)」に相当) |
-P | --no-dereference | シンボリックリンクをたどらない(デフォルト) |
-L | --dereference | 全てのシンボリックリンクをたどる |
-D,-H | --dereference-args | コマンドラインで指定されたシンボリックのみをたどる |
-x | --one-file-system | 異なるファイルシステム(パーティション)にあるディレクトリをスキップする |
-l | --count-links | ハードリンクがある場合は、その個数分のサイズを数える |
--exclude=パターン | パターに一致するファイルを含めない | |
-Xファイル | --exclude-from=ファイル | ファイルに含まれるパターンに一致するファイルを含めない |
--files0-from=ファイル | ファイルに指定されたリスト(NUL区切り)を対象に集計する。「-」を指定した場合は標準入力から読み込む | |
短いオプション | 長いオプション | 意味 |
---|---|---|
-h | --human-readable | サイズに応じて読みやすい単位で表示する |
-H | --si | 読みやすい単位で表示する。ただし、1024単位ではなく1000単位の値を使用する |
-Bサイズ | --block-size=サイズ | 指定したサイズの倍数で表示する。サイズは数値または単位で指定する |
-k | --block-size=1Kと同じ | |
-m | --block-size=1Mと同じ | |
--apparent-size | ディスク使用量ではなく実際のサイズを表示する | |
-b | --bytes | 実際のサイズをバイト単位で表示(「--apparent-size」「--block-size=1」に相当) |
-c | --total | 全体の合計も表示する |
-0 | --null | 改行ではなく、NULで区切って出力する |
--time | 集計対象ごとに、集計対象となったファイルの最終更新時間を表示する | |
--time=表示 | 表示に「atime」「access」「use」「ctime」「status」を指定して、「--time」で更新時間の代わりに表示で指定した時間を表示する | |
--time-style=スタイル | 時間の表示スタイルとして「full-iso」「long-iso」「iso」「+FORMAT」を指定する。「+FORMAT」はdateコマンドのフォーマット指定と共通 | |
「du」で、カレントディレクトリにある全てのディレクトリの使用量が表示されます。サブディレクトリがある場合は、それぞれのディレクトリのサイズが表示されます。
表示する単位を変更したい場合は、「-h」や「-B」オプションを使用します。指定方法は、「df」コマンドと共通です(本連載第58回を参照)。
du
(カレントディレクトリ下のディスク使用量をディレクトリごとに集計して表示する)(画面1)
指定したディレクトリの合計容量だけを表示したい場合は、「-s」オプションを使用します。
「du -s」で、カレントディレクトリが使用している容量が表示されます。「du -s *」では、カレントディレクトリ直下のファイルおよびディレクトリごとの集計となります。ただし、「*」を指定すると、ドットファイルは集計対象外となる点に注意してください。
「-c」(--total)オプションでは、表示したディスク容量の合計も表示されます。
du -s
(カレントディレクトリのディスク使用量を表示する)(画面2の赤枠部分)
du -s -c *
(カレントディレクトリ直下のファイルおよびディレクトリのディスク使用量と、その合計を表示する)(画面2の青枠部分)
「-d」オプションで、集計する“深さ”を指定できます。「-d1」で、1つ目の階層まで集計できます。「-s」は「-d0」相当になります。
ルートディレクトリ下にあるディレクトリごとを集計する場合は、「du -d1 /」のように指定します。
以下の実行例では、「/proc」のような特殊なフォルダを対象外とするために「-x」オプションを使用しています。「-x」は、“1つのファイルシステムだけを集計対象にする”というオプションです。集計には各ディレクトリへのアクセス権が必要になるので、「root」ユーザーで実行しています。
du -d1 -x /
(ルートディレクトリおよびルート直下のディレクトリのディスクの使用量を表示する。他のパーティションにあるファイルは対象にしない)(画面3)
ディスクの使用量が多い順に並べて表示したい場合は、dfの実行結果を「sort」で並べ替えます。以下の実行例では、数値扱いで並べ替えるために「-n」オプション、大きい順(降順)にするために「-r」オプションを使用しています。
du -d1 -x / | sort -n -r
(ルートディレクトリおよびルート直下のディレクトリのディスクの使用量を大きい順に表示する。他のパーティションにあるファイルは対象にしない(画面4)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.