1.03.3基礎
monitorの出力を端末へ表示しつつaudit.logの末尾へ追加する。
audit.logの既存内容は残す。
適切なコマンドはどれか。
× 不正解
tee -aは各指定ファイルをappendモードで開き、入力を端末側の標準出力にも維持する。
詳細解説
誤り
monitor | tee audit.logteeは既定でaudit.logを上書きする。
誤り。分岐表示はできるがaudit.logを切り詰め、既存監査内容を失う。
誤り
monitor > audit.log上書き保存だけで端末表示を分岐しない。
誤り。既存内容を失う上に、monitorの出力が端末へ同時表示されない。
正しい
monitor | tee -a audit.log-aで既存内容の末尾へ書きながら標準出力にも流す。
正しい。-aがaudit.logへのappendを選び、teeのstdout複製も維持する。
誤り
monitor | tee -i audit.log-iは割り込みシグナルを無視する指定で、追記を有効にしない。
誤り。-iはシグナル処理の動作を変えるだけで、ファイルのopen modeは上書きのままである。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp); printf 'old\n' >"$tmp"; printf 'new\n' | tee -a "$tmp" >/dev/null; cat "$tmp"; rm -f "$tmp"期待される結果
old
new理解のポイント
- -aはappend
- tee既定は上書き
- stdoutも維持
確認時の注意
- 確認環境: GNU coreutils 9.x / 一時ファイル
基礎のおさらい
複数ファイル
teeは複数ファイル名を指定し、同じ入力をすべてへ書くこともできる。
権限
保護されたファイルへ書く場合、sudo producer > fileではシェル側が失敗するため、sudo tee等の権限境界を理解する。
問題IDKL-101-476
確認環境GNU coreutils 9.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告