Du (Unix)

codice_1（"disk usage"の略称から）はファイルのスペース使用量、つまりファイルシステム上でディレクトリまたはファイルが実際に使用しているスペースを推定するために使われる標準的なUnixプログラム。
歴史.
codice_1ユーティリティが最初にでてきたのはAT&T UNIXのバージョン1である。GNU coreutilsにバンドルされているバージョンのcodice_1はTorbjorn Granlund、David MacKenzie、Paul EggertとJim Meyeringによって書かれた。
仕様.
デフォルトでは、Single UNIX Specification (SUS) は、codice_1が現在のディレクトリに含まれる各ファイルとディレクトリに割り当てられたファイルスペースを表示することを仕様に定めている。 リンクはリンク先のものではなく、リンクファイルとしてのサイズを表示するだろう。ディレクトリの内容のサイズは期待通りに表示される。
codice_1が報告するのは割り当てられたスペースであって絶対的なファイルのスペースではないため、codice_1によって表示されるファイルシステム上のスペースの合計値は、ファイルが削除されたが、そのブロックはまだ解放されていない場合には、codice_7によって表示されるものとは異なる。また、ファイルシステムのデータブロックを割り当てる最小限（minfree）設定とスーパーユーザのプロセスは、合計ブロック数と、使用されているブロックと利用可能なブロックの合計値の間に不一致を作り出す。最小限（minfree）設定は通常合計ファイルシステムサイズの5%程度に設定されている。さらなる情報はcore utils faqを見よ。
使用方法.
codice_1は1つの引数をとり、それはduが動作するパス名を指定する。もし指定されなければ、現在のディレクトリが使われる。SUSはduが以下のオプションを取ることを規定している:
他のUnixとUnix-likeなオペレーティングシステムはさらなるオプションを追加していることがある。BSDとGNUのcodice_1は-hオプションを指定すると、適切なSI接頭語を付けた単位を追加して（例えば10MB）、ユーザが読みやすいフォーマットでディスク使用量を表示する。
例.
ディレクトリの合計値（-s）をキロバイト単位（-k）で:
$ du -sk *
152304 directoryOne
1856548 directoryTwo
ディレクトリの合計値（-s）を人間が読みやすいフォーマットで（-h : バイト、キロバイト、メガバイト、ギガバイト、テラバイトペタバイト）:
$ du -sh *
149M directoryOne
1.8G directoryTwo
現在のディレクトリにある隠しファイルも含んだすべてのサブディレクトリとファイルのディスク使用量（ファイルサイズでソート）:
 $ du -sk .[!.]* *| sort -n
現在のディレクトリにある隠しファイルも含んだすべてのサブディレクトリとファイルのディスク使用量（ファイルサイズの逆順でソート）:
 $ du -sk .[!.]* *| sort -nr
現在のディレクトリ直下の各サブディレクトリのウェイト（サイズ）（-d 1）を、最後に全体の合計値をつけて（-d）、すべて人間に読みやすいフォーマットで（-h）:
 $ du -d 1 -c -h
あるいはGNUのduでは:
 $ du --max-depth=1 -c -h
ルートディレクトリ直下の各サブディレクトリのウェイト（サイズ）（-d 1と続く/）を、最後に全体の合計値をつけて（-d）、すべて人間に読みやすいフォーマットで（-h）、他のファイルシステムまでたどらない（-x）。/var、/tmp、または他のディレクトリがルートディレクトリとは別の記憶装置にある時に有用である。:
 $ du -d 1 -c -h -x /
あるいはGNUのduでは:
 $ du --max-depth=1 -c -h -x /