プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/dev/null」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/dev/null」。

あ~、これは何となく分かるけど一応復習しておくか、というのが調べたきっかけです。

ふむふむ(--)

「/dev/null」はそこに対する出力がすべて破棄されるのだそうです。
ブラックホールみたいなものですね。

例えば

ls > /dev/null

を実行すると「ls」コマンドの実行結果が「/dev/null」に渡されて
「/dev/null」がそいつを捨てちゃいます。
つまり何の意味も無いってことですね……って、おひ(--)ノぺちっ

例が悪かったですが、なんかのコマンドを実行して、
その実行結果を画面に表示したくない場合などに使います。
例えばコマンドをcronに登録して使う場合で、結果メッセージを捨てたい時とかですね。
あるいは性能測定中で画面に描画することによる誤差を無くしたい場合です。

ちなみに

何かのコマンド > /dev/null

を使う際の注意点として、エラー表示があります。

例えば

hoge > /dev/null

を実行すると

hoge: Command not found.

というのが画面に表示されてしまいますよ。

エラーも捨ててしまいたい場合は、bashであれば

hoge > /dev/null 2 > &1

とすればOKです。
cshやtcsh等の場合は上記の書き方ではエラーになりますけどね。
「Ambiguous output redirect.」とか怒られてしまいます。
cshやtcshの場合は

hoge > & /dev/null

のように書く必要がありますよ。

そんな感じ(--)ノ

まとめると「/dev/null」は、そいつに対する出力をすべて破棄してくれる奴です。
いらない処理結果とかは送り付けちゃいましょう。

完了\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事