LPIC-1 Exam 101 問題集

Linux Professional Institute LPIC-1 101試験(101-500)対策公式 Exam Objectives Version 5.0(101-500)準拠

LPIC-1 Exam 101の日本語問題集。全180問に解説つき。

LPIC-1 Exam 101 無料問題 6 / 10 ・ 分野3: GNU and Unix Commands

/etc/hostname はあり、/nope は無い。ls /etc/hostname /nope 2>&1 > out.txt を実行した。画面に出るものと out.txt に入るものの組み合わせとして正しいのはどれか。

  1. 画面: 表示0行/out.txt: エラーと /etc/hostname の2行
  2. 画面: エラーの1行/out.txt: エラーと /etc/hostname の2行
  3. 画面: 表示0行/out.txt: /etc/hostname の1行
  4. 画面: エラーの1行/out.txt: /etc/hostname の1行
正解と解説を見る

正解: D

正解の理由
リダイレクトは左から順に処理される。先に書いた 2>&1 は、その時点の標準出力の行き先である画面を、標準エラーの行き先として複製する。次の > out.txt は標準出力だけを out.txt に向け直す。標準エラーは複製した時点の画面のままなので、/nope が無いというエラーは画面に出て、out.txt には /etc/hostname の1行だけが入る。bash(1) も、この並びでは標準出力だけがファイルへ向くと書いている。

違う選択肢
「画面: 表示0行/out.txt: エラーと /etc/hostname の2行」… ls /etc/hostname /nope > out.txt 2>&1 と書いたときの結果。先に標準出力をファイルへ向けてから複製すれば、エラーも同じファイルに入る。
「画面: 表示0行/out.txt: /etc/hostname の1行」… エラーが画面から消えるのは 2>/dev/null で捨てたとき。2>&1 は行き先の複製で、エラーを捨てはしない。
「画面: エラーの1行/out.txt: エラーと /etc/hostname の2行」… 同じ内容が画面とファイルの両方に出るのは、tee を挟んだとき。1つの出力の行き先は1つで、エラーは画面か out.txt のどちらかにしか出ない。

押さえどころ
2>&1 は「標準エラーを、いまの標準出力と同じ所へ」という意味で、あとから標準出力を向け直しても付いていかない。両方を1つのファイルへ入れるなら ls ... > out.txt 2>&1 か、ls ... &> out.txt と書く。

LPIC-1 Exam 101の演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る