[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

/dev/null

pointこの用語のポイント

pointファイルだよ

pointUNIX系のOSで使われるよ

point出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないよ

スポンサーリンク

簡単に書くよ

/dev/nullとは

UNIX系のOS(LinuxとかMacとか)で使われる、ブラックホールなファイル。
もう少し真面目に書くと

UNIX系のOS(LinuxとかMacとか)で使われる、出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないファイル
です。

image piyo

詳しく書くよ

「dev」ディレクトリの中の「null」ファイルで「/dev/null」です。
UNIX系のOSで使われるファイルで「な~んにもしたくないよ~」なときに指定されます。

/dev/null

まず予備知識として、UNIX系のOSでは「<」や「>」で入力元、出力先を指定できます。
例えば

hoge.sh < aaa.txt

と書くと「aaa.txtの中身を引数(入力元)にしてhoge.shを動かしてね」の意味になります。
同様に

hoge.sh > aaa.txt

と書くと「hoge.shの実行結果を(画面では無く)aaa.txtに出力してね」の意味になります。

はい、ここまでが予備知識です。
それでは「/dev/null」さんに登場していただきましょう。

例えば

hoge.sh < /dev/null

と書くと「/dev/nullの中身を引数(入力元)にしてhoge.shを動かしてね」の意味になります。
ただし「/dev/null」はブラックホールです。
吸いこむことはあっても吐き出すことはありません。
「/dev/null」からは何も出てこないのです。

そのため

hoge.sh < /dev/null

は「/dev/nullの中身を引数(入力元)にしてhoge.shを動かしてね」転じて「引数(入力元)は何にも無しでhoge.shを動かしてね」の意味になります。

出力先として指定した場合も同じです。
「/dev/null」はブラックホールです。
吸いこむことはあっても吐き出すことはありません。
出力内容を受け取ってはくれますが、何もしないのです。
例えば

hoge.sh > /dev/null

と書いた場合は「hoge.shの実行結果を(画面では無く)/dev/nullに出力してね」転じて「hoge.shの実行結果は(どこにも出さないで)捨てちゃって」の意味になります。

ちなみに「/dev/null」は入力元よりも出力先として指定することが多いです。
実行結果をいちいち画面に表示したくない場合などによく使われます。

image piyo2

一言でまとめるよ

まぁ「/dev/null」って単語が出てきたら「ブラックホールなファイルなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク