/dev/null

/dev/null（nullデバイスとも呼ばれる）は、UNIXやUnix系オペレーティングシステム (OS) におけるスペシャルファイルの1つで、そこに書き込まれたデータを全て捨て（writeシステムコールは成功する）、読み出してもどんなプロセスに対してもデータを返さない（EOFを返す）。

 概要 
/dev/null は通常、プロセスの不要な出力ストリームを捨てるのに使うか、入力ストリームのための空のファイルとして使う。これは一般にリダイレクトによってなされる。プログラマ、特にUnix系のプログラマの間では、ビットバケツ (bit bucket)、あるいはブラックホール (black hole) などとも呼ばれる。

 用途 
UNIXやUnix系OSのソフトウェアは、動作時に標準出力や標準エラー出力に動作状況や、エラーや警告を伝えるメッセージを出力することがある。これらはデフォルトで画面に表示され、cronデーモンで自動的に実行された場合は出力されたメッセージ文がメールでユーザに送られたりする。シェルスクリプトなどにおいてもこれらのメッセージ出力が邪魔になることがある。ソフトウェアによっては、コマンドラインオプション等でこれらのメッセージを出力しないようにできるものもあるが、できないものもある。

そのような場合に、ソフトウェアが標準出力や標準エラー出力に出力するメッセージを /dev/null にリダイレクトするようにあらかじめ指定しておくと、これを回避できる。

 他のOSにおける等価機能 
CP/M（および後のDOSやWindows）での同等のデバイスとして NUL:またはNUL（NULデバイス）がある。例えば、PAUSE>NULのように出力をNULに向けることで、ユーザーのキー押下を待ちうけつつ、画面には何も表示しないという使い方があった。Amigaでは、デバイス名はNIL:となっていた。Windows NTやその後のWindowsでは、内部的にはDeviceNullという名前になり、DOSのNULはそのデバイスへのソフトリンクになっていた。OpenVMSでは、NL:という名前である。

 俗語 
UNIXプログラマの間では、次のような冗談めかした隠語表現あるいはメタファーに使われる。
 「不平不満は/dev/nullに送ってください」（不平不満は受け付けない）
 「私のメールは/dev/nullにアーカイブされた」（私のメールは削除された）
 「/dev/nullにリダイレクトしろ」（死んじまえ）
欧米ではチタニウムPowerBook G4の広告コピーとして The Titanium Powerbook G4 Sends other UNIX boxes to /dev/null.（チタニウムPowerBook G4は他のUNIXマシンを/dev/null送りにする）という文が使われた。

ジョークのネタとしてもよく使われ、システムの/dev/nullは98%まで使用済みなどというユーザーへのワーニング表示などがある。1995年、ドイツの雑誌 c't のエイプリルフール記事として、入力されたデータを内蔵するLEDの点滅に変換する/dev/nullチップが登場したという嘘の記事が掲載されたことがある。

 関連項目 
 Null
 UNIX哲学
 標準ストリーム
 /dev/zero
 /dev/random
 スペシャルファイル
 rm (Unix)

 参考文献 

 Single Unix Specification Section 10.1
 Jargon file entry for "bit bucket"

Dev Null
Category:無
Category:コンピュータ・ユーモア