Linux / コマンド / gzip - ファイルをgzip形式で圧縮する

gzipはファイルデータを.gz形式に圧縮します。複数のファイルを1つのアーカイブにまとめることはせず、通常は元のファイルを圧縮ファイルに変えます。

通常のファイル名を指定して圧縮に成功すると、ファイル.gzを作成して入力ファイルを削除します。-kまたは-cで元を残せます。複数ファイルとディレクトリ構造を1つにまとめる作業は、tarによるアーカイブの作成と組み合わせます。

基本的な文法

gzip [オプション] [ファイル ...]

インストールされている実装とオプションは、配布版によって異なる場合があります。man gzipで現在のシステムの説明を確認してください。

使用例

元のファイルを保持したまま圧縮

report.logがある作業ディレクトリで実行します。入力と同名の.gzが既にないか確認してください。-kで入力を残し、report.log.gzを作成します。

gzip -k report.log

圧縮結果を別の名前で保存

-cは元のファイルを変えずに圧縮データを標準出力に送ります。出力ファイルが既存でないか確認してください。

gzip -c report.log > report-copy.log.gz

圧縮ファイルの整合性チェック

ファイルの内容を取り出さずにgzipストリームのエラーをチェックします。

gzip -t report.log.gz

圧縮後に元のファイルが残るか確認する

gzip ファイルは基本的に元のファイルを.gzファイルで置き換えます。元のファイルも残したい場合はGNU gzipの-kを使用します。

printf 'hello\n' > note.txt
gzip -k note.txt
ls note.txt*

例の出力:

note.txt  note.txt.gz

通常、成功時には画面に何も表示しません。gzip -t note.txt.gzはストリームの整合性を検査し、巡回冗長検査(CRC)などによって破損を検出します。改ざんの証明や手元の原本との一致確認ではありません。復元方法はgunzipによる解凍も参照してください。

主なオプションと形式

オプション・形式 説明
-k 圧縮後に入力ファイルを保持します。
-c 結果を標準出力に送ります。
-t 圧縮データの完全性を検査します。
-1 ... -9 速度優先から圧縮率優先までレベルを調整します。
-v 圧縮率などの処理情報を表示します。

使用する際の注意点

基本実行は元のファイルを置き換えるため、元のファイルを保持する必要がある作業では-kを使用してください。複数のファイルを引数として与えても、一つの.gzにまとめられることはありません。gzip圧縮は暗号化ではないため、秘密資料の保護目的で使用してはいけません。

よくある質問

gzipでディレクトリ全体を一つのファイルにまとめることはできますか?

gzip自体はディレクトリ構造を含むアーカイバではありません。tar -czf backup.tar.gz directory/のようにtarと一緒に使用してください。

公式ドキュメント

オプションの正確な動作と実装ごとの違いは、gzip関連の公式ドキュメントで確認できます。