LinuCレベル1 101試験の例題と解説
1.03.3ストリーム、パイプ、リダイレクトの使用
LinuCレベル1 101試験の出題範囲から「1.03.3 ストリーム、パイプ、リダイレクトの使用」についての例題を解いてみます。
例題
/etc ディレクトリ以下のファイル一覧を ls で取得し、その結果を less コマンドでページ単位に表示しつつ、同時に output.txt というファイルにも保存したい。
適切なコマンドはどれか。
- ls /etc | tee output.txt | less
- ls /etc > output.txt | less
- ls /etc | less > output.txt
- ls /etc | tee less > output.txt
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. ls /etc | tee output.txt | less」です。
tee コマンドは、標準出力をファイルに保存しつつ、パイプで次のコマンドにも渡すために使用します。
各選択肢についての解説は以下の通りです。
1. ls /etc | tee output.txt | less
正しいです。
tee output.txt によりファイルにも出力され、同時に less に渡されてページ表示されます。
2. ls /etc > output.txt | less
誤りです。
> によって ls の出力はファイルにリダイレクトされ、less には何も渡されません。
3. ls /etc | less > output.txt
誤りです。
less の出力(画面表示内容)をファイルに保存するという意味になり、意図に反します。
4. ls /etc | tee less > output.txt
誤りです。
tee の引数に less が指定されているため、出力内容が less というファイルに保存されます。同時に出力は output.txt にリダイレクトされ、出力内容が output.txt にも保存されます。
標準出力の制御はログ保存や確認作業に頻出する操作です。tee を使うことで出力の二重化が可能になります。
例題作成者
株式会社デージーネット 経営企画室 小泉麦