/dev/null
ファイルだよ
UNIX系のOSで使われるよ
出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないよ
簡単に書くよ
/dev/nullとは
UNIX系のOS
(コンピュータの人格に相当するソフト)(Linuxとか)で使われるファイルのひとつ
であり
ブラックホールなファイル
です。
もう少し真面目ぶって書くと
出力先として指定すると何も起こらないし、入力元として指定しても何も入ってこないファイル
です。
詳しく書くよ
「dev」ディレクトリの中の「null」ファイルで「/dev/null」です。
UNIX系のOSで使われるファイルで「な~んにもしたくないよ~」なときに指定されます。
まず予備知識として、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」は入力元よりも出力先として指定することが多いです。
実行結果をいちいち画面に表示したくない場合などによく使われます。
一言でまとめるよ
まぁ「/dev/null」って単語が出てきたら「ブラックホールなファイルなんだな~」と お考えください。






