Linux Shell

/dev/null とは?有効な使い方について

みなさんは/dev/nullというファイルをご存知でしょうか?

このファイルに入っていくものや出ていくものは全てnull言わば、サーバ内のブラックホールのような存在です。

例えば

と"hoge"と出力されていますが、リダイレクト先を/dev/nullにすると

何も出力されなくなります。

どんなタイミングで使うか

コマンドの結果を標準出力に出したくない場合に利用できます。

具体例をあげるとこのブログのサーバに対してscpコマンドでファイルのダウンロードを試みましたが、いざやってみると

ssh-agentの結果が出力されてダウンロードができませんでした。

調査をしてみると、ssh先の.bashrcファイルに

どうやらscpでsshしたときに.bashrcが読み込まれssh-agentの結果が標準出力されてしまうのが原因だったみたいです。

なので、ここを

にすればssh-agentの結果は標準出力されなくなるので

で無事ダウンロードができるようになりました。

このように、標準出力に出したくないという場合に活用してみるのはありだと思います。

まとめ

  • /dev/nullは入出力を全てnullにするブラックホールのような存在
  • 標準出力を出したくない場合にはリダイレクトで指定するような使い方ができる
  • この記事を書いた人

シロー

Webシステムの開発のお仕事をさせて頂いております。 フリーランスの日常、Web開発に関する情報を発信しています。 趣味はゲーム、映画鑑賞、個人サービスを作ることです。

-Linux, Shell

© 2021 Shiro's secret base