すべてを

▼開く

閉じる▲

標準エラー出力をヌルデバイス「/dev/null」に送って破棄する

○tarコマンドのエラー出力をヌルデバイスに送って破棄する

tarコマンドのエラー出力をヌルデバイスに送る
$ tar -cf /tmp/masa_home.tar masa  >& /dev/null

tarコマンドで-cfオプション、保存先、アーカイブするディレクトリを指定し、リダイレクト「>&」で標準エラー出力を「/dev/null」を指定する。これで、エラー出力が画面に表示されずにヌルデバイス「/dev/null」に送られることで破棄される。

普通にコマンドを実行すると、以下のようにエラーが出力される。

tarコマンドで-cfオプション、保存先、アーカイブするディレクトリを指定する
$ tar -cf /tmp/masa_home.tar masa
tar: masa/work/dir1~~/file2~: open 不能: 許可がありません
tar: 処理中にエラーが起きましたが、最後まで処理してからエラー終了させました

「>&」は、標準エラー出力の変更を意味する。標準エラー出力は、画面に設定されているので、これを変更してファイルやデバイスなどにする時に利用する。シェルがこれを解釈してコマンドを実行する。

「>&」は、標準エラー出力の変更を意味するキャラクタで、標準出力と標準エラー出力の両方を変更する。シェルがこれを解釈してコマンドを実行する。

標準出力と標準エラー出力を分けて出力する場合は、まず標準出力をファイルに出力してから標準エラー出力をファイルに出力する。