kazmax - Linux で自宅サーバー

du - コマンド (プログラム) の説明 - Linux コマンド集 一覧表

  1. 名前
  2. 書式
  3. 説明
  4. POSIX 詳細
  5. POSIX オプション
  6. GNU オプション
  7. GNU 標準オプション
  8. バグ
  9. ブロックサイズ
  10. 環境変数
  11. 準拠
  12. 注意

名前

du - ファイルのディスク使用量を見積もる

書式

du [ options ] [ file... ]
POSIX オプション: [-askx]
GNU オプション (簡略形式): [-abchklmsxDHLS] [-X FILE] [--block-size=SIZE] [--max-depth=DEPTH] [--exclude=PATTERN] [--help] [--version] [--]

説明

du はディスクの使用量を表示する。 対象は指定したファイルと、 それをルート (根) とする階層中にある全ディレクトリである。 ここで「ディスク使用量」とは、指定したファイル以下の 全ファイル階層による使用量を意味する。

引き数がない場合、 du は現在のディレクトリのディスク使用量を表示する。

POSIX 詳細

出力はデフォルトでは 512 バイト単位であるが、 -k オプションが指定された場合は 1024 バイト単位になる。

POSIX オプション

"-a"
ディレクトリだけでなく、全てのファイルについて容量を表示する。
"-k"
デフォルトの 512 バイト単位の代わりに 1024 バイト単位を使用する。
"-s"
実際に引き数で指定された対象による使用量のみを表示し、 そのサブディレクトリによる使用量は表示しない。
"-x"
引き数で指定されたファイルと同じディバイス上のみで使用量を集計する。

GNU オプション

"-a, --all"
ディレクトリだけでなく、全てのファイルについて容量を表示する。
"-b, --bytes"
デフォルトのブロックサイズを無視し、バイト単位でサイズを表示する。
"-c, --total"
全ての引き数について使用量表示の処理をした後、 全ての引き数の使用量の総計を表示する。 このオプションは、ファイル・ディレクトリのセットを与え、 それらのディスク総使用量を調べるために使用される。
"-h, --human-readable"
それぞれのサイズに、 例えばメガバイトなら M のようなサイズ文字を付加する。 10 の累乗ではなく 2 の累乗を用いるので、 M は 1,048,576 バイトを表す。
"-k, --kilobytes"
サイズをキロバイト単位で表示する。
"-l, --count-links"
あるファイルが (ハードリンクとして) 既に集計されている場合を含め、 全てのファイルの使用量を集計する。
"-m, --megabytes"
メガバイト (1,048,576 バイト) 単位でサイズを表示する。
"-s, --summarize"
それぞれの引き数について、総計のみを表示する。
"-x, --one-file-system"
引き数で指定されたファイルのあるファイルシステムとは異なる ファイルシステム上にあるディレクトリを集計に含めない。
"-D, --dereference-args"
コマンドライン引き数で指定したシンボリックリンクをたどる。 他のシンボリックリンクはたどらない。 このオプションは、たいていシンボリックリンクになっている /usr/tmp のようなディレクトリのディスク使用量を調べるのに便利である。
-H, --si
それぞれのサイズに、 例えばメガバイトなら M のようなサイズ文字を付加する (SIとは国際単位系のことで、これらの文字を接頭辞と定義している)。 2 の累乗ではなく 10 の累乗を用いるので、 M は 1,000,000 バイトを表す。
"-L, --dereference"
シンボリックリンクをたどる (シンボリックリンク自体が使用する容量の代わりに、 リンク先のファイルやディレクトリの使用量を表示する)。
"-S, --separate-dirs"
サブディレクトリの使用量を含めずに、 個々のディレクトリの使用量を分けて表示する。
-X FILE, --exclude-from=FILE
--exclude と類似するが、 除外するためのパターンを FILE から一行ずつ取り込む。 FILE が `- ' のときはパターンを標準入力から読み込む。
--block-size=SIZE
環境変数の値を無視し、ブロックサイズを SIZE に設定する。
--exclude=PATTERN
再帰的に集計する際、PATTERN にマッチする名前の サブディレクトリやファイルを除外する。 `du --exclude='*~'' の場合には `~' で終わる名前のファイルは除外される。
--max-depth=DEPTH
階層のルートから深さレベルが最大 DEPTH までにある 各ディレクトリの (-all が指定されている場合はファイルも含めた) ディスク使用量の合計を表示する。 ルートはレベル 0 であるので、`du --max-depth=0' は `du -s' と等しい。

GNU 標準オプション

"--help"
標準出力に使用方法のメッセージを出力して正常終了する。
"--version"
標準出力にバージョン情報を出力して正常終了する。
"--"
オプションリストの終りを示す。

バグ

BSD システムでは、HP-UX システムから NFS マウントしたファイルに対して、 du は正しい値の半分の値を表示してしまう。 HP-UX システムでは、BSD システムから NFS マウントした ファイルに対して、正しい値の 2 倍の値を表示してしまう。 これは HP-UX の欠陥によるもので、HP-UX の du プログラムにも影響を及ぼしている。

ブロックサイズ

デフォルトの出力ファイルブロックサイズは 1024 バイト (POSIXLY_CORRECT が設定されているときは 512 バイト) である。 この値は以下の環境変数のどれかを設定することで変更できる。 また、これらの環境変数の値は --block-size=SIZE が オプションに与えられると無視される。

優先順位:
DU_BLOCK_SIZE , BLOCK_SIZE , POSIXLY_CORRECT .

これらの変数の値は、数字でも human-readable でも si でもよい。 数字の後には、何倍であるかを指定するサイズ文字と、 通常のバイトを選択する B または 10 進の「商業用」バイトを選択する D を続けてもよい。 たとえば、`BLOCK_SIZE=1KB' は `BLOCK_SIZE=1024' に等しく、 `BLOCK_SIZE=1KD' は `BLOCK_SIZE=1000' に等しい。
以下の文字が認識される (また --human-readable--si オプションで表示されるときに用いられる)

k
キロ: --human-readable なら 2^10 = 1024、 --si なら 10^3 = 1000
M
メガ: 2^20 = 1,048,576 または 10^6 = 1,000,000
G
ギガ: 2^30 = 1,073,741,824 または 10^9 = 1,000,000,000
T
テラ: 2^40 = 1,099,511,627,776 または 10^12 = 1,000,000,000,000
P
ペタ: 2^50 = 1,125,899,906,842,624 または 10^15 = 1,000,000,000,000,000
E
エクサ: 2^60 = 1,152,921,504,606,846,976 または 10^18 = 1,000,000,000,000,000,000
Z
ゼタ: 2^70 = 1,180,591,620,717,411,303,424 または 10^21 = 1,000,000,000,000,000,000,000
Y
ヨタ: 2^80 = 1,208,925,819,614,629,174,706,176 または 10^24 = 1,000,000,000,000,000,000,000,000

環境変数

変数 DF_BLOCK_SIZE, BLOCK_SIZE, OSIXLY_CORRECT は 出力ファイルブロックサイズの選択を決定する。 変数 LANG, LC_ALL, LC_CTYPE, LC_MESSAGES が通常の意味を持つ。

準拠

POSIX 1003.2

注意

ディスク使用量は丸めの際に繰上げられ、空き容量は繰り下げられる。

このページは fileutils-4.1 パッケージの du コマンドについて説明したものである; その他のバージョンでは少し違いがあるかもしれない。 修正や追加は aeb@cwi.nl, aw@mail1.bet1.puv.fi, ragnar@ragnar-hojland.com 宛にメールで連絡してください。 プログラムのバグについては bug-fileutils@gnu.org へ報告してください。