utte

du ディレクトリやファイルが使っているディスク容量を調べる

du [オプション] [ファイル...]

試してみる

主なオプション

-h読みやすい単位(K、M、G)で表示する
-s合計だけを表示する
-aファイルごとにも表示する
-c最後に総計を表示する
--max-depth=NN 階層下までを表示する(-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つずつたどって合計します。

関連するコマンド

LinuC 101の出題範囲