このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linux基礎:gzipコマンドとgunzipコマンド

gzipコマンドとgunzipコマンド
Linuxでは、大量のログやデータファイルを扱うことが多く、ディスク領域を節約するために圧縮は欠かせません。代表的な圧縮形式のひとつが GNU zip (gzip) であり、非常に多くのディストリビューションで標準的に利用されています。gzipで圧縮されたファイルは、拡張子「.gz」を持ち、解凍には gunzip コマンドを使用します。
本章では、Rocky Linux環境での gzip および gunzip の使い方を解説し、実際の操作例を通じて圧縮・解凍の基本を学びます。

1.gzipコマンドによる圧縮
1.1. gzipの基本
gzipコマンドは、単一ファイルを圧縮し、拡張子.gzを付与したファイルを生成します。元のファイルは圧縮後、自動的に削除され、圧縮ファイルだけが残ります。
書式
gzip [オプション] ファイル名1.2. 主なオプション
| オプション | 説明 |
|---|---|
| -c | 圧縮結果を標準出力に出力(元ファイルを残す場合に利用) |
| -k | 元のファイルを削除せずに圧縮ファイルを作成 |
| -d | 圧縮解除(gunzipと同等の動作) |
| -v | 圧縮率や処理状況を表示 |
| -# | 圧縮率を指定(1=低速低圧縮、9=高圧縮) |
1.3. 使用例
【例1】ファイルの圧縮
[user@rocky9 ~]$ ls -lh dummy1.dat dummy3.bin
-rw-r--r--. 1 user user 10M 8月 26 01:08 dummy1.dat
-rw-r--r--. 1 user user 50M 8月 26 02:10 dummy3.bin
[user@rocky9 ~]$ gzip dummy1.dat
[user@rocky9 ~]$ gzip dummy3.bin
[user@rocky9 ~]$ ls -lh dummy1.dat.gz dummy3.bin.gz
-rw-r--r--. 1 user user 10K 8月 26 01:08 dummy1.dat.gz
-rw-r--r--. 1 user user 50K 8月 26 02:10 dummy3.bin.gz→ 元のファイル dummy1.dat 、dummy3.bin は削除され、圧縮後の dummy1.dat.gz、dummy3.bin.gz のみ残る。
【例2】元ファイルを残して圧縮(-c オプション利用)
[user@rocky9 ~]$ gzip -c dummy2.img > dummy2.img.gz
[user@rocky9 ~]$ ls -lh dummy2.img dummy2.img.gz
-rw-r--r--. 1 user user 100M 8月 26 01:10 dummy2.img
-rw-r--r--. 1 user user 100K 8月 26 01:59 dummy2.img.gz→ 元の dummy2.img は残したまま、dummy2.img.gz が作成された。
2.gunzipコマンドによる解凍
2.1. gunzipの基本
gunzipは、gzip形式(.gz)で圧縮されたファイルを解凍するためのコマンドです。gzipに-dオプションを付けても同様の動作をします。
書式
gunzip [オプション] 圧縮ファイル名2.2. 主なオプション
| オプション | 説明 |
|---|---|
| -c | 標準出力に展開(元の圧縮ファイルを残す) |
| -k | 元の圧縮ファイルを削除せずに展開 |
| -v | 展開の進捗や圧縮率を表示 |
2.3. 使用例
【例3】ファイルの解凍
[user@rocky9 ~]$ gunzip dummy1.dat.gz
[user@rocky9 ~]$ ls -lh dummy1.dat
-rw-r--r--. 1 user user 10M 8月 26 01:08 dummy1.dat→ 圧縮ファイルは解凍され、元の dummy1.dat が復元された。
【例4】圧縮ファイルを残したまま展開(-c オプション利用)
[user@rocky9 ~]$ gunzip -c dummy3.bin.gz > dummy3.bin
[user@rocky9 ~]$ ls -lh dummy3.bin dummy3.bin.gz
-rw-r--r--. 1 user user 50M 8月 26 02:12 dummy3.bin
-rw-r--r--. 1 user user 50K 8月 26 02:10 dummy3.bin.gz→ dummy3.bin.gz を残したまま、展開された dummy3.bin を生成。
3.gzip/gunzipの活用例
3.1. 大容量ログファイルの圧縮
システム運用でよく使われるのが、/var/log/ 配下にあるログファイルの圧縮です。
【例5】
[user@rocky9 ~]$ sudo gzip /var/log/messages
[sudo] user のパスワード:
[user@rocky9 ~]$ ls -l /var/log/messages.gz
-rw-------. 1 root root 273352 8月 26 02:16 /var/log/messages.gz
[user@rocky9 ~]$ sudo gunzip /var/log/messages.gz → messages.gz となり、ログの保存容量を削減可能。
3.2. 複数ファイルを一括で圧縮
gzipはディレクトリを直接圧縮できませんが、複数ファイルをまとめて圧縮することは可能です。
【例6】
[user@rocky9 ~]$ gzip date.txt log.txt memo_2025.txt
[user@rocky9 ~]$ ls -l date.txt.gz log.txt.gz memo_2025.txt.gz
-rw-r--r--. 1 user user 71 8月 23 13:35 date.txt.gz
-rw-r--r--. 1 user user 97 8月 24 15:21 log.txt.gz
-rw-r--r--. 1 user user 116 8月 24 15:21 memo_2025.txt.gz
[user@rocky9 ~]$ gunzip date.txt log.txt memo_2025.txt→ それぞれが date.txt.gz、log.txt.gz、memo_2025.txt.gz に変換される。
圧縮したファイルを解凍して元に戻します。
[user@rocky9 ~]$ gunzip date.txt log.txt memo_2025.txtまとめ
- gzip はファイルを圧縮し、拡張子
.gzを付与する。 - gunzip は
.gzファイルを解凍して元に戻す。 -cオプションを活用することで、元ファイルを残したまま圧縮・解凍が可能。- ディレクトリ全体を扱う場合は、tarと組み合わせて使うのが一般的(次章以降で解説)。
