タグ

nullとshellに関するkiyo_hikoのブックマーク (2)

  • /dev/null - Wikipedia

    /dev/null(nullデバイスとも呼ばれる)は、UNIXやUnix系オペレーティングシステム (OS) におけるスペシャルファイルの1つで、そこに書き込まれたデータを全て捨て(writeシステムコールは成功する)、読み出してもどんなプロセスに対してもデータを返さない(EOFを返す)。 概要[編集] /dev/null は通常、プロセスの不要な出力ストリームを捨てるのに使うか、入力ストリームのための空のファイルとして使う。これは一般にリダイレクトによってなされる。プログラマ、特にUnix系のプログラマの間では、ビットバケツ (bit bucket)、あるいはブラックホール (black hole) などとも呼ばれる。 用途[編集] UNIXやUnix系OSのソフトウェアは、動作時に標準出力や標準エラー出力に動作状況や、エラーや警告を伝えるメッセージを出力することがある。これらはデフォル

    kiyo_hiko
    kiyo_hiko 2012/08/17
    「bit bucket」ともいうらしい。某サービスみたいな名前
  • エラーメッセージを記録・抑制したい

    コマンドの出力内容を「>」でリダイレクトした場合でも、エラーメッセージはリダイレクトされず、そのままコンソールに出力されてしまう。たとえば、ターミナル上で次のコマンドを実行した場合、出力内容は「result.txt」へ記録されるが、それでもエラーメッセージが画面上に表示されてしまうという具合だ。 上記のようにエラーメッセージ(ls: nonexistent: ...)がターミナル上に表示される。 これは、エラーメッセージが「標準出力」(STDOUT)とは別の「標準エラー出力」(STDERR)に出力されているためだ。標準エラー出力を抑制したい場合には「2> /dev/null」と指定し、ヌル(null)デバイスへリダイレクトすればよい。また標準エラー出力を記録したい場合には、「2> error.txt」としてリダイレクトしよう。

    エラーメッセージを記録・抑制したい
    kiyo_hiko
    kiyo_hiko 2012/08/17
    わかりきったコマンドのエラーを出させないために、一時的にSTDERRを/dev/nullに送ろうよという技 / Windowsでも「dir /b *Nai* 2> nul」でできた。
  • 1