14.2 du: ファイルスペースの使用を推定
duは,指定されているファイルとそれぞれの(ディレクトリ引数の)
サブディレクトリが使用しているディスクスペースの量を報告します.概要で
す.
du [option]... [file]...
引数を用いない場合,duは現在のディレクトリのディスクスペース
を報告します.通常,ディスクスペースは1024バイト単位で出力されますが,
これに優先することも可能です(see Block size).整数ではない量は,次
に大きな単位に切り上げられます.
プログラムは以下のオプションも受け入れます.Common optionsも参照
してください.
- ‘-a’
- ‘--all’
-
ディレクトリだけでなく,すべてのファイルを数えたものを表示します.
- ‘--apparent-size’
-
ディスクを使用している大きさではなく見かけ上の大きさを出力します.ファ
イルの見かけ上の大きさは,通常のファイルに対し
wc -c
,またはより
一般的に,ls -l --block-size=1
やstat --format=%s
で報告さ
れるバイト数です.例えば,改行が無い単語‘zoo’を含んでいるファイル
はもちろん,見かけ上の大きさは3になります.そのような小さなファイルで
も,ファイルが存在するファイルシステムの形式や設定によっては,ゼロから
16バイト,またはより大きなキロバイトのディスク領域が必要かもしれません.
しかし,以下のコマンドで作成される疎らなファイルを考えてみます.
: | dd bs=1 seek=`echo '2^31'|bc` of=big
これは,見かけ上2ギガバイトですが,最近のほとんどのシステムでは,実際
にはほとんどディスク領域を使用しません.
- ‘-b’
- ‘--bytes’
-
--apparent-size --block-size=1
と同じです.
- ‘-B size’
- ‘--block-size=size’
-
大きさを出力する前にsizeで計測します(see Block size).例えば,
-BGでは1,073,741,824バイト単位で出力します.
- ‘-c’
- ‘--total’
-
すべての引数を処理した後,すべての引数の合計を出力します.これは,与え
られたファイルやディレクトリの集合の,ディスク使用の合計を知るために使
用することが可能です.
- ‘-D’
- ‘--dereference-args’
-
コマンドライン引数のシンボリックリンクを間接参照します.その他のシンボ
リックリンクには影響しません.これは,/usr/tmpのように,シンボ
リックリンクにされることが多いディレクトリのディスクの使用状況を知りた
いとき役に立ちます.
- ‘-h’
- ‘--human-readable’
-
メビバイトに対する‘M’のような,サイズ文字を追加します.1000倍では
なく1024倍が使用されます.‘M’は1,048,576バイトを意味します.1000
倍を望む場合,--siオプションを使用してください.
- ‘-H’
-
現在は,-Hで警告される以外は-Hは--siと同じ
です.このオプションは変更され,--dereference-args
(-D)と等価になっています.
- ‘-k’
-
1024バイトブロックで出力し,デフォルトのブロックサイズに優先します
(see Block size).このオプションは,--block-size=1Kと等価
です.
- ‘-l’
- ‘--count-links’
-
すでに(ハードリンクとして)現れている場合でも,すべてのファイルのサイズ
を計算します.
- ‘-L’
- ‘--dereference’
-
シンボリックリンクを間接参照します(リンクで使用しているスペースの代わ
りに,リンクが示すファイルやディレクトリが使用しているディスクスペース
を表示します).
- ‘-P’
- ‘--no-dereference’
-
duが見つけたそれぞれのシンボリックリンクを,シンボリックリン
クが使用しているディスクスペースと考えます.
- ‘--max-depth=DEPTH’
-
階層のルートから最大MAX_DEPTHレベルまで降りて,それぞれのディレクトリ
(そして‘--all’の場合はファイル)の合計を表示します.ルートはレベル
0なので,
du --max-depth=0
はdu -s
と同じです.
- ‘-0’
- ‘--null’
-
それぞれの行の終りに,改行ではなくゼロバイト(NUL)を出力します.
このオプションで,出力に改行が含まれているファイル名が含まれているとき
でも,他のプログラムがduの出力を構文解析することが可能になり
ます.
- ‘--si’
-
メガバイトに対する‘MB’のような,SI形式のサイズの略語を追加します.
1024倍ではなく1000倍が使用されます.‘MB’は1,000,000バイトを意味し
ます.1024倍を望む場合,-hまたは--human-readableオプ
ションを使用してください.
- ‘-s’
- ‘--summarize’
-
それぞれの引数の合計のみ表示します.
- ‘-S’
- ‘--separate-dirs’
-
サブディレクトリのサイズを含めず,それぞれのディレクトリのサイズを別々
に報告します.
- ‘-x’
- ‘--one-file-system’
-
処理を開始した引数のディレクトリと異なるファイルシステムを省略します.
- ‘--exclude=PATTERN’
-
再帰的なとき,PATTERNにマッチするサブディレクトリやファイルを省
略します.例えば,
du --exclude='*.o'
は‘.o’で終わる名前のファ
イルを除外します.
- ‘-X FILE’
- ‘--exclude-from=FILE’
-
除外するパターンをFILEから受け取る以外,--excludeに似て
います.FILEが‘-’の場合,標準入力からパターンを受け取ります.
BSDシステムでは,HP-UXシステムからのNFSマウントされているファイルの正
しい値の半分のサイズを,duは報告します.HP-UXシステムでは,
BSDシステムからのNFSマウントされているファイルの正しい値の二倍のサイズ
を報告します.これはHP-UXの欠陥です.それはHP-UX duプログラ
ムにも影響します.
終了ステータスのゼロは成功を示し,ゼロ以外の値は失敗を示します.