1.03.3基礎
collect-infoの標準出力を端末で確認しながらsnapshot.txtにも上書き保存する。
同じコマンド出力を分岐させる。
適切なコマンドはどれか。
× 不正解
teeは標準入力を指定ファイルへ書き込みながら、同じデータを標準出力にも流す。
詳細解説
誤り
collect-info > snapshot.txtファイルへ送るだけで、端末へ同じ内容を表示しない。
誤り。collect-infoのfd 1がsnapshot.txtだけを指し、同じ内容は端末へ流れない。
正しい
collect-info | tee snapshot.txtteeが入力を標準出力と指定ファイルへ複製する。
正しい。teeはパイプ入力をsnapshot.txtへ書くと同時に、自身のstdoutとして端末へ出す。
誤り
collect-info | cat snapshot.txtcatは引数ファイルを読み、パイプ入力との分岐保存をしない。
誤り。cat snapshot.txtは既存ファイルを読むだけで、collect-infoのパイプ入力を引数へ変換も保存もしない。
誤り
collect-info >> snapshot.txt追記保存だけで端末表示を行わない。
誤り。追記方式は変わっても出力先はファイルだけで、画面との分岐にならない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp); screen=$(printf 'snapshot\n' | tee "$tmp"); printf '%s/%s\n' "$screen" "$(cat "$tmp")"; rm -f "$tmp"期待される結果
snapshot/snapshot理解のポイント
- teeはstream分岐
- 既定はfile上書き
- stdoutは後続pipeにも渡せる
確認時の注意
- 確認環境: GNU coreutils 9.x / 一時ファイル
基礎のおさらい
T字配管
teeという名前は1本の入力をファイルと後続ストリームへ分ける形に由来する。
pipeline途中の記録
producer | tee raw.log | filterのように、後続処理を続けながら中間データを保存できる。
問題IDKL-101-475
確認環境GNU coreutils 9.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告