ひよっこPGのブログ

主に、技術メモや英語たまにギター関連のことも書いているブログです。

Linuxのコマンドで ”> /dev/null”とは?

PHPでの、バッチ起動処理のコマンドで Linuxコマンドを使いphpプログラムを実行する場面がありました。
下記のようなコマンドです。

php ○○○Batch.php 引数1 引数2... > /dev/null

○○○.phpは、バッチ処理の書かれた phpソースです。


結果をまず述べると

バッチ処理での、画面に出力する内容は全て消去する
です。


次は自分が納得したやり方で、コマンドの一つ一つを説明しますね。

> はどんな意味?

> (リダイレクト)は、入出力先を変えるコマンドの一つ。

例をあげると

echo "Hello World" > test.txt

echo "文字列"は、画面に文字列を表示するコマンドです。
それの出力先を test.txtに変更するという意味になります。
なので、test.txtの内容はコマンド実行すると、こうなります。
f:id:buzzword111:20140301152629p:plain

もっと詳しく知りたい方は下記をどうぞ。
Linuxコマンド逆引き大全 - 【 リダイレクトの使い方 】:ITpro

/dev/null はどんな意味?

dev は device(デバイス)の略。
null は 何もないという意味。
デバイスというのは、DVDドライブやHDD、SSDなどの機器を表します。

じゃあ基本的な単語の意味をおさえたところで、
/dev/null のことを説明すると

/dev/null に出力するデータは すべて捨てられる仮想のデバイスのことだそうです。
なので、必要のないデータを捨てたい時に、 /dev/nullに出力するという使い方をするみたいです。

まとめ

> /dev/null の意味は
画面の出力内容を、全て捨てる仮想のデバイスへ出力する。
それによって、出力内容を全て捨てるという意味になる。