103.3基礎
report.logをgzip形式で圧縮し、report.log.gzを作る。
元のreport.logも残す。
適切なコマンドはどれか。
× 不正解
gzip -kは圧縮後も入力ファイルを保持する。-kを省略した通常動作では、圧縮成功後に元ファイルが置き換えられる。
詳細解説
誤り
gunzip report.loggzip圧縮を展開するコマンドで、圧縮ファイルを作らない。
展開側のコマンドである。
誤り
gzip report.log圧縮はするが、既定では元のreport.logをreport.log.gzへ置き換える。
圧縮はできるが既定では元ファイルを残さない。
誤り
zcat report.log > report.log.gz入力をgzipデータとして展開しようとし、圧縮処理ではない。
展開用フィルタを通常テキストへ使っており、圧縮にならない。
正しい
gzip -k report.loggzip圧縮ファイルを作り、-kにより入力ファイルも保持する。
正解。.gzを作りながらreport.logも保持する。
実際に確かめる
一時的な検証環境で実行できる例です。
LAB_DIR=$(mktemp -d)
printf demo > "$LAB_DIR/report.log"
gzip -k "$LAB_DIR/report.log"
test -f "$LAB_DIR/report.log" -a -f "$LAB_DIR/report.log.gz" && echo BOTH
rm -r "$LAB_DIR"期待される結果
BOTH理解のポイント
- gzipは.gzを作る
- -kは入力を保持する
- gunzipは展開用
確認時の注意
- 確認環境: GNU gzip 1.x
基礎のおさらい
置換型の既定動作
gzipは通常、圧縮成功後に入力名を.gz付きの圧縮ファイルへ置き換える。
標準出力
gzip -cを使えば圧縮データを標準出力へ送り、入力ファイルを保持できる。
問題IDKP-103-058
確認環境GNU gzip 1.x
最終技術確認2026-08-12
誤り・権利侵害を報告