du ディレクトリやファイルが使っているディスク容量を調べる
du [オプション] [ファイル...]試してみる
du docsディレクトリごとの使用量を、1キロバイト単位で表示します。サブディレクトリも出ます。
du -h docs人が読みやすい単位(K、M、G)で表示します。
du -sh docs-s で合計だけを表示します。いちばんよく使う形です。
du -h --max-depth=1 docs1階層下までだけを表示します。
du -ah docsディレクトリだけでなく、ファイルごとの使用量も表示します。
du -sh --apparent-size docsディスク上の使用量ではなく、ファイルの見かけの大きさ(中身のバイト数)の合計を表示します。
主なオプション
-h | 読みやすい単位(K、M、G)で表示する |
|---|---|
-s | 合計だけを表示する |
-a | ファイルごとにも表示する |
-c | 最後に総計を表示する |
--max-depth=N | N 階層下までを表示する(-d N と同じ) |
--apparent-size | ディスク上の使用量ではなく、見かけの大きさを表示する |
--exclude=パターン | パターンに合うものを数えない |
解説
ディレクトリごとの使用量
du(disk usage)は、ファイルやディレクトリが使っているディスク容量を調べます。ディスクが一杯になったとき、どのディレクトリが大きいのかを探すのに使います。ファイルシステムの空きを調べるのは df です。
よく使う形
オプションなしでは、指定したディレクトリの下にあるすべてのディレクトリについて、1行ずつ出ます。通常は、-h(読みやすい単位)と -s(合計だけ)を組み合わせた du -sh が使われます。大きいものを探すには、du -h --max-depth=1 /var | sort -h のようにします(sort -h は K や M などの単位つきの数値を並べ替えられる)。
使用量と見かけの大きさ
du が表示するのは、ファイルが占めているディスクのブロックの量です。ファイルシステムはブロック単位で領域を割り当てるので、中身が1バイトのファイルでも、1ブロック分(多くは 4KiB)になります。そのため、ls -l のバイト数と一致しません。--apparent-size を付けると、ls -l に近い見かけの大きさになります。
ls -l との違い
ls -l が表示するのは、ファイルの見かけの大きさです。du は実際に占めているディスク容量です。穴あきファイル(中身の大部分が空のもの)では、両者が大きく異なります。
df との違い
df は、ファイルシステム全体の使用状況を、du は、ファイルを1つずつたどって合計します。