[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

14.1 df: ファイルシステムのディスク使用状態を報告する

df は、ファイルシステムごとに、使用されているディスク容量と利用可能なディスクス容量を報告する。

書式:

 
df [option]… [file]…

引数を指定しないと、df は、現在マウントされているすべてのファイルシステム (ファイルシステムのタイプを問わない) について、使用されているディスク容量と、利用可能なディスク容量を報告する。 引数が指定されている場合は、引数として指定された各 file が存在するファイルシステムについて報告する。

通常、ディスク容量は 1024 バイトを 1 単位として表示するが、この動作は変更することができる (see section ブロックサイズ)。なお、小数点以下は切り上げて整数にする。

bind マウントについては、引数が指定されていない場合に df が表示するのは、 そのデバイスに関する統計情報のうち、ファイルシステムのリスト中で (すなわち、mtab 中で) マウントポイントの名前が最も短いものに関する情報のみである。 すなわち、‘-a’ オプションが指定されていないときは、情報が重複するエントリは表示しない。

同じ理屈で、ダミーの擬似デバイスについては、 そのマウントポイントに対する別のマウントエントリが存在し、 それが実在のブロックデバイスのものであり、しかもデバイス番号が同じ場合、 df は擬似デバイスのマウントエントリの方は省略する。 たとえば、ブート初期に作成される擬似ファイルシステムの ‘rootfs’ は、 実際のルートデバイスがすでにマウントされていれば、デフォルトでは表示されない。

引数 file がスペシャルファイルに還元され、 そのスペシャルファイル上に存在するファイルシステムが現在マウントされている場合、 df が表示するのは、そのファイルシステムの利用可能な容量であって、 デバイス・ノードが存在するファイルシステムの利用可能な容量ではない。また、GNU の df は、マウントされていないファイルシステムのディスク使用量を測定しようとはしない。 なぜなら、ほとんどのファイルシステムにおいて、そういうことを行うには、 ファイルシステムの構造について他と全く共通性のない詳しい情報が必要だからである。

このプログラムでは以下のオプションが使用できる。参照: 共通オプション.

‘-a’
‘--all’

一覧表示に、ダミーのファイルシステム、重複するファイルシステム、アクセスできないファイルシステムも含める。 そうしたものは、デフォルトでは省略されるのである。 ダミーのファイルシステムというのは、‘/proc’ のような特殊用途の擬似ファイルシステムがその典型であり、 ストレージと結びついていないものだ。 重複するファイルシステムとは、ローカルやリモートのファイルシステムで、 ローカルのファイル階層の別の場所にもマウントされているものや、bind マウントされたものである。 アクセスできないファイルシステムとは、マウントされているが、 その後そのマウントポイントに他のファイルシステムが二重にマウントされたものや、 あるいは、マウントポイントのパーミッションなど、他の理由でアクセスできなくなっているものを言う。

‘-B size’
‘--block-size=size’

size によって単位の大きさを変更してから、サイズを表示する (see section ブロックサイズ)。 たとえば、‘-BG’ と指定すれば、1,073,741,824 バイトを 1 単位として、サイズを表示する。

‘-h’
‘--human-readable’

各サイズの後ろに、メビバイトなら ‘M’ といった、大きさを示す文字を付ける。 1000 ではなく、1024 の累乗が使われるので、‘M’ は 1,048,576 バイトを表している。このオプションは、‘--block-size=human-readable’ と同じである。1000 の累乗が使いたければ、"‘--si’ オプションを使用すればよい。

‘-H’

‘--si’ オプションと同じである。

‘-i’
‘--inodes’

ブロックの使用量ではなく、inode の使用情報を一覧表示する。 inode (index node の略称) には、ファイルの所有者、許可属性、タイムスタンプ、 ディスク上の位置といった、ファイルに関する情報が含まれている。

‘-k’

デフォルトのブロックサイズがどうなっていようと、1 ブロック 1024 バイトでサイズを表示する (see section ブロックサイズ)。このオプションは ‘--block-size=1K’ に等しい。

‘-l’
‘--local’

一覧表示するのをローカルのファイルシステムに限定する。 デフォルトでは、リモートのファイルシステムも表示される。

‘--no-sync’

使用量に関するデータを取得する前に sync システムコールを実行しない。 そのため、多数のディスクを搭載しているシステムでは、df の実行速度が目に見えて向上するが、システムによっては (特に SunOS では)、出力結果がほんの少し古いものになるかもしれない。 これがデフォルトの動作である。

‘--output’
‘--output[=field_list]’

field_list で定義した出力フォーマットを使用する。field_list を省略した場合は、すべてのフィールドを表示する。 後者の場合、列の順序は、以下に挙げているフィールドの説明の順序と同じである。

‘--output’ オプションは、‘-i’, ‘-P’, ‘-T’ のどのオプションとも一緒に使うことができない。

field_list は、df の出力に含まれることになる、コンマで区切った列のリストであり、 このリストによって出力する列の順序を制御することができる。 従って、各フィールドは任意の場所に置くことができるが、一度しか使うことができない。

field_list で使える有効なフィールドの名前は、次のものである。

‘source’

マウントポイントにマウントする対象。たいていはデバイス。

‘fstype’

ファイルシステムのタイプ。

‘itotal’

inode の総数。

‘iused’

使用 inode 数。

‘iavail’

使用可能な inode 数。

‘ipcent’

iused を itotal で割ったパーセント表示。

‘size’

ブロックの総数。

‘used’

使用ブロック数。

‘avail’

使用可能なブロック数。

‘pcent’

used を size で割ったパーセント表示。

‘file’

ファイル名をコマンドラインで指定した場合、そのファイル名。

‘target’

マウントポイント。

ブロックや inode の統計情報を表すフィールドは、他の場合と同じく、 ‘-h’ のような数値の大きさを調整するオプションの影響を受ける。

field_list の定義は、複数の ‘--output’ オプションを使用して、分割しても構わない。

 
#!/bin/sh
# TARGET (すなわち、マウントポイント) に続けて、そのブロックや 
# inode の使用状態をパーセントで表示する。
df --out=target --output=pcent,ipcent

# 表示できるすべてのフィールドを表示する。
df --o
‘-P’
‘--portability’

POSIX の出力形式を使用する。デフォルトの形式に似ているが、次の点で異なっている。

  1. 各ファイルシステムついての情報が、常にぴったり 1 行で表示され、 マウントされるデバイスが、それのみで 1 行を占めることがない。 そのため、マウントされるデバイスの名前の長さが 20 字を越えると (たとえば、ネットワーク・マウントの場合にそういうことがありそうだ)、 各項目の列がずれることになる。
  2. ヘッダ行の項目名が、POSIX に準拠したものになる。
  3. デフォルトのブロックサイズや出力の書式が、環境変数 DF_BLOCK_SIZE, BLOCK_SIZE, BLOCKSIZE の影響を受けなくなる。 とは言え、デフォルトのブロックサイズについては、 POSIXLY_CORRECT の影響だけは、やはり受ける。すなわち、 POSIXLY_CORRECT が設定されていれば、ブロックサイズは 512 バイトであり、さもなければ 1024 バイトである。 See section ブロックサイズ.
‘--si’

各サイズにの後ろに、メガバイトなら ‘M’ といった、SI 形式の略号を付ける。 1024 ではなく、1000 の累乗が使用されるので、‘M’ は 1,000,000 バイトを表している。このオプションは、‘--block-size=si’ と同じことである。1024 の累乗が使いたければ、‘-h’ や ‘--human-readable’ を使用すればよい。

‘--sync’

使用量に関するデータを取得する前に ‘sync’ システムコールを実行する。 システムによっては (特に SunOS では)、そうすることでより最近の結果が得られるが、 一般的に言って、このオプションを使用すると、df の実行速度がかなり低下する。 ファイルシステムをたくさんマウントしている場合や、 作業が頻繁に行われているファイルシステムでは、とりわけ遅くなる。

‘--total’

すべての引数を処理した後で、全引数についての総計を表示する。 このオプションを使用すれば、ディスクの容量、使用した量、使用可能な量について、 リストされているすべてのデバイスを合わせた合計を知ることができる。 引数が一つも指定されていない場合は、df は使用可能な容量の合計に無関係なファイルシステムを除外しようとして、できるだけのことをする。 重複するリモート・ファイルシステムを計算に入れないといったことをするのである。

総計の行において df は source の列に ‘"total"’ と表示し、 target の列に ‘"-"’ という文字を表示する (訳注: source, target などの列については、‘--output’ の説明を参照していただきたい)。 source の列が存在しない場合は、target の列が存在すれば、 df は target の列に ‘"total"’ と表示する。

‘-t fstype’
‘--type=fstype’

一覧表示するファイルシステムを fstype というタイプに限定する。 ‘-t’ オプションを複数回使うことによって、複数のタイプのファイルシステムを指定することができる。 デフォルトでは、いかなるタイプのファイルシステムも除外しない。

‘-T’
‘--print-type’

各ファイルシステムのタイプを表示する。このとき表示されるタイプは、 ‘-t’ や ‘-x’ オプションを使って、一覧表示に含めたり、 一覧表示から除外したりできるタイプと同じものである。 すなわち、表示されるタイプは何であれ、システムによってサポートされているということだ。 以下に、よく見受けられるタイプの名前をいくつか挙げておく (当然ながら、ここに挙げるものがすべてではない)。

‘nfs’

NFS ファイルシステム。すなわち、ネットワーク越しにほかのマシンからマウントしているファイルシステム。 このタイプ名は、あらゆるシステムで共通して使われているようである。

‘ext2, ext3, ext4, xfs, btrfs…’

ローカルでマウントしているハードディスクのファイルシステム。 (ローカルのマウントでは、システムが複数のタイプをサポートしていることもある。 たとえば、Linux がそうだ。)

‘iso9660, cdfs’

CD や DVD ドライブのファイルシステム。HP-UX は ‘cdfs’ を使用し、 ほかのシステムのほとんどは ‘iso9660’ を使用している。

‘ntfs,fat’

MS-Windows や MS-DOS で使用されるファイルシステム。

‘-x fstype’
‘--exclude-type=fstype’

一覧表示するファイルシステムを fstype というタイプ以外のものに限定する。 ‘-x’ オプションを複数回使うことによって、複数のタイプのファイルシステムを除外することができる。 デフォルトでは、いかなるタイプのファイルシステムも除外しない。

‘-v’

無視される。System V 版の df との互換のためにある。

df がインストールされるのは、利用可能なマウントテーブルを持つシステムだけである。 従って、移植を考慮したスクリプトは、その存在を当てにしない方がよい。

終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。 実行に失敗しても、全く何も出力されないこともある。 そういうときに、たとえば、ディレクトリ dir が ‘ext3’ や ‘reiserfs’ というタイプのファイルシステム上にあるかどうかを調べるには、 ‘df -t ext3 -t reiserfs dir’ といったコマンドを実行して、 終了ステータスを検査すればよい。

ファイルシステムのタイプを判断するには、ファイルシステムのリスト (mtab) が必要になる。従って、実行の失敗には、 ファイルシステムのリストを読み込むことができないときに、ファイル名を示す引数とともに ‘-a’, ‘-l’, ‘-t’, ‘-x’ といったオプションが一つ以上使われた場合が含まれる。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on June 7, 2022 using texi2html 1.82.