LinuCレベル1 GNUとUnixのコマンド 問8
GNUとUnixのコマンド/ストリーム、パイプ、リダイレクトの使用コマンドの標準エラー出力だけをファイルに書き出すシェルの記法として正しいものはどれか。
当サイトのオリジナル問題(LinuCレベル1の出題範囲「GNUとUnixのコマンド」に対応。実際の試験問題ではありません)
- Acommand >> error.log
- Bcommand 1> error.log
- Ccommand 2> error.log
- Dcommand > error.log
正解:C
解説
シェルのリダイレクトでは、標準出力はファイルディスクリプタ1、標準エラー出力はファイルディスクリプタ2に割り当てられています。2>でファイルディスクリプタ2(標準エラー出力)だけをファイルへリダイレクトでき、標準出力(ファイルディスクリプタ1)には影響しません。
選択肢ごとの解説
- A誤り。>>は標準出力を追記モードでリダイレクトする記法で、対象は標準出力です。
- B誤り。1>は>と同じ意味で、標準出力をリダイレクトします。標準エラー出力は含まれません。
- C正しい。2>は標準エラー出力(ファイルディスクリプタ2)だけをファイルへ書き出します。
- D誤り。>は標準出力(ファイルディスクリプタ1)をリダイレクトする記法で、標準エラー出力は対象外です。