はじめに
こんにちは!今回はgzipコマンドについて解説します。
gzipはファイルを圧縮するコマンドです。tarとの組み合わせでバックアップを作ったり、ログファイルを圧縮したり、ダウンロードファイルを小さくしたり、毎日使う超基本的なコマンドですね。
「ファイルを小さくする」って感じです。ホントよく使います。
gzipコマンドとは
gzipは、ファイルを高圧縮率で圧縮する外部コマンドです。“GNU zip"の略ですね。
Linuxで最も一般的な圧縮形式の一つで、.gzファイルを作ります。tarと組み合わせて.tar.gzファイルも作られています。元のファイルは削除され、圧縮ファイルに置き換わります。
基本構文
|
|
ファイルを圧縮します。デフォルトでは元のファイルは削除されて、.gz拡張子の圧縮ファイルだけが残ります。
主なオプション
| オプション | 説明 |
|---|---|
-c |
圧縮結果を標準出力に出力(元ファイルを保持) |
-d |
解凍(gunzipと同じ) |
-k |
圧縮後も元ファイルを保持(keep) |
-v |
詳細表示(verbose) |
-1 ~ -9 |
圧縮レベル(1=低, 9=高) |
-r |
ディレクトリを再帰的に圧縮 |
-f |
確認なしで上書き |
-t |
圧縮ファイルをテスト(チェック) |
使用例
例1: 基本的なファイル圧縮
|
|
実行結果:
|
|
file.txtを圧縮してfile.txt.gzを作ります。元のファイルは削除されます。
例2: 元ファイルを保持して圧縮
|
|
実行結果:
|
|
-cオプションで標準出力に出力して、リダイレクトで保存します。元のfile.txtは残ります。
例3: -kオプションで元ファイルを保持(簡単)
|
|
実行結果:
|
|
-k(keep)オプションで元ファイルを残したまま圧縮できます。便利!
例4: 詳細表示で圧縮
|
|
実行結果:
|
|
-vオプションで圧縮率と処理結果が表示されます。
例5: ディレクトリを再帰的に圧縮
|
|
実行結果:
|
|
mydir/以下のすべてのファイルを圧縮します。各ファイルが個別に.gzになります。
例6: 複数ファイルを一度に圧縮
|
|
実行結果:
|
|
複数ファイルを一度に圧縮できます。それぞれ.gzファイルになります。
例7: 圧縮レベルを指定
|
|
実行結果:
|
|
-9で最高圧縮率(時間がかかる)。-1なら高速ですが圧縮率は低め。デフォルトは-6。
例8: 圧縮ファイルをテスト
|
|
実行結果:
|
|
圧縮ファイルが壊れていないかチェックします。
例9: ファイルを解凍
|
|
実行結果:
|
|
-dオプション(またはgunzipコマンド)で解凍。元のfile.txtに戻ります。
例10: 解凍後も圧縮ファイルを保持
|
|
実行結果:
|
|
-dと-cを組み合わせると、圧縮ファイルを残したまま内容を取り出せます。
例11: tarと組み合わせてアーカイブ圧縮
|
|
実行結果:
|
|
tarのzオプションでgzip圧縮。.tar.gz形式でアーカイブと圧縮が同時に行われます。
例12: 圧縮率を確認
|
|
実行結果:
|
|
ファイルサイズを比較して圧縮効果を確認できます。
Tips・注意点
元ファイルが削除されるので注意
|
|
デフォルトではgzipコマンド後、元のfile.txtは削除されてfile.txt.gzだけになります。心配な場合は-kオプションを使いましょう。
|
|
gunzipコマンドと-dオプション
|
|
解凍はgunzipコマンドかgzip -dで。
複数ファイルを一括圧縮するならtar
|
|
ファイルをまとめて1つの圧縮ファイルにしたい場合は、tarを使いましょう。
圧縮レベルの使い分け
|
|
ログファイルなど頻繁に圧縮する場合は-1で高速化。バックアップなら-9でしっかり圧縮。
実践的な使い方
ログファイルのローテーション圧縮
|
|
毎日のログローテーション処理で古いログを圧縮。容量を大幅に節約できます。
バックアップファイルの圧縮
|
|
日付付きで重要なディレクトリをバックアップ。gzipでコンパクトにします。
圧縮ファイルを別のサーバーに転送
|
|
-ckで元ファイルを保持したまま、パイプでリモートサーバーに転送。
ダウンロードサイズを削減
|
|
Webサーバーで配布するファイルを圧縮。ユーザーのダウンロード時間を短縮できます。
まとめ
gzipコマンドのポイント:
- ファイルを高圧縮率で圧縮する基本コマンド
- -k: 元ファイルを保持(重要!)
- -c: 標準出力に出力(パイプと組み合わせ可)
- -d: 解凍(gunzipと同じ)
- -9: 最高圧縮率(時間がかかる)
- tar + gzip:
.tar.gzでアーカイブ圧縮 - よく使う組み合わせ:
gzip -k,tar czf,gzip -d
ログやバックアップの圧縮は日々の運用の基本。-kオプションを使えば、元ファイルの誤削除も防げますよ!