はじめに

こんにちは!今回はgunzipコマンドについて解説します。

gunzipはgzipで圧縮されたファイルを解凍するコマンドです。バックアップファイルを取り出したり、ダウンロードしたファイルを使ったり、毎日使う超基本的なコマンドですね。

「ファイルを元に戻す」って感じです。gzipの逆バージョンって覚えると簡単です。

gunzipコマンドとは

gunzipは、.gzファイルを解凍して元のファイルに戻す外部コマンドです。“GNU unzip"ですね。

gzip -dと同じ機能で、どちらでも解凍できます。実はgunzipgzipの別名みたいなもので、内部的には同じプログラムが動いています。デフォルトでは圧縮ファイルは削除されて、元のファイルだけが残ります。

基本構文

1
gunzip [オプション] ファイル名.gz

圧縮ファイルを解凍します。デフォルトでは元の圧縮ファイルは削除されて、解凍されたファイルだけが残ります。

主なオプション

オプション 説明
-c 解凍結果を標準出力に出力(元ファイルを保持)
-d gzip -dと同じ(gunzipはデフォルト)
-k 解凍後も圧縮ファイルを保持(keep)
-v 詳細表示(verbose)
-r ディレクトリを再帰的に解凍
-f 確認なしで上書き
-l 圧縮ファイルの情報を表示
-t 圧縮ファイルをテスト(チェック)

使用例

例1: 基本的なファイル解凍

1
gunzip file.txt.gz

実行結果:

1
(コマンド成功時は何も表示されない)

file.txt.gzを解凍してfile.txtを作ります。元の圧縮ファイルは削除されます。

例2: 圧縮ファイルを保持して解凍

1
gunzip -c file.txt.gz > file.txt

実行結果:

1
(何も表示されない)

-cオプションで標準出力に出力して、リダイレクトで保存します。元のfile.txt.gzは残ります。

例3: -kオプションで圧縮ファイルを保持(簡単)

1
gunzip -k file.txt.gz

実行結果:

1
(何も表示されない)

-k(keep)オプションで圧縮ファイルを残したまま解凍できます。バックアップを確保したい時に便利。

例4: 詳細表示で解凍

1
gunzip -v file.txt.gz

実行結果:

1
file.txt.gz: 48.8% -- replaced with file.txt

-vオプションで処理結果と圧縮率が表示されます。

例5: ディレクトリを再帰的に解凍

1
gunzip -r mydir/

実行結果:

1
(ディレクトリ内のすべての.gzファイルが解凍される)

mydir/以下のすべての.gzファイルを解凍します。

例6: 複数ファイルを一度に解凍

1
gunzip file1.txt.gz file2.txt.gz file3.txt.gz

実行結果:

1
(何も表示されない)

複数の圧縮ファイルを一度に解凍できます。

例7: 圧縮ファイルの情報を表示

1
gunzip -l file.txt.gz

実行結果:

1
2
         compressed        uncompressed  ratio uncompressed_name
                100                 512  80.5% file.txt

圧縮率や元のファイルサイズなど、圧縮ファイルの情報を表示。ファイルは解凍されません。

例8: 圧縮ファイルをテスト

1
gunzip -t file.txt.gz

実行結果:

1
(テストOKなら何も表示されない。エラーなら表示)

圧縮ファイルが壊れていないかチェック。実際には解凍しません。

例9: gzipコマンドで解凍(-dオプション使用)

1
gzip -d file.txt.gz

実行結果:

1
(何も表示されない)

gzip -dでも解凍できます。gunzipと同じ結果になります。

例10: ワイルドカードで複数ファイル解凍

1
gunzip *.gz

実行結果:

1
(何も表示されない)

カレントディレクトリのすべての.gzファイルを解凍。

例11: パイプで別プログラムに渡す

1
gunzip -c archive.tar.gz | tar xf -

実行結果:

1
(何も表示されない)

-cで標準出力に解凍結果を出力し、tarコマンドでアーカイブを展開。中間ファイルを作らずに一度に処理できます。

例12: ログファイルを解凍して検索

1
gunzip -c access.log.gz | grep "404"

実行結果:

1
2
192.168.1.100 - - [03/Jan/2026:10:00:00] "GET /notfound HTTP/1.1" 404
192.168.1.101 - - [03/Jan/2026:10:05:00] "POST /notfound HTTP/1.1" 404

圧縮ログを解凍して検索。ディスク容量を節約できます。

Tips・注意点

圧縮ファイルが削除されるので注意

1
gunzip file.txt.gz

デフォルトではgunzipコマンド後、元のfile.txt.gzは削除されてfile.txtだけになります。心配な場合は-kオプションを使いましょう。

1
gunzip -k file.txt.gz

gunzipとgzip -dは同じ

1
2
3
# どちらでも同じ
gunzip file.txt.gz
gzip -d file.txt.gz

好みで使い分けてOK。gunzipの方が「解凍」という意図が明確で読みやすいですね。

-lオプションでファイルをチェック

1
gunzip -l *.gz

複数の圧縮ファイル情報を確認。どのファイルがどれくらい圧縮されているか一覧で見られます。

パイプで中間ファイルを作らない

1
2
3
4
5
6
7
# ❌ 中間ファイルが残る
gunzip archive.tar.gz
tar xf archive.tar
rm archive.tar

# ✅ パイプで一度に処理
gunzip -c archive.tar.gz | tar xf -

大量のファイルを解凍する場合、パイプを使うとディスク容量を節約できます。

実践的な使い方

バックアップファイルの復元

1
2
gunzip -v backup_20260103.tar.gz
tar xf backup_20260103.tar

日付付きバックアップを解凍して復元。-vで処理状況が表示されます。

ログファイルから特定の情報を抽出

1
gunzip -c /var/log/syslog.gz | grep "error" | tail -20

圧縮ログから最後の20個のエラーを抽出。ディスクに負荷をかけずに確認。

複数の圧縮ファイルを一度に確認

1
gunzip -l backup_*.tar.gz | sort -k3 -n

複数バックアップのサイズを確認。3番目のカラム(元のサイズ)でソート。

Webからダウンロードした圧縮ファイルを展開

1
gunzip -c downloaded_file.tar.gz | tar xf -

ダウンロードしたアーカイブを一度に展開。確認後、圧縮ファイルは保持したままにできます。

まとめ

gunzipコマンドのポイント:

  • .gzファイルを解凍する基本コマンド
  • -k: 圧縮ファイルを保持(重要!)
  • -c: 標準出力に出力(パイプと組み合わせ可)
  • -v: 詳細表示
  • -l: 圧縮ファイル情報を表示(解凍しない)
  • -t: ファイルチェック(解凍しない)
  • gzip -d と同じ機能
  • よく使う組み合わせ: gunzip -k, gunzip -c | tar xf, gunzip -l

ログやバックアップの解凍は日々の運用の基本。パイプを使うと中間ファイルを作らずに処理できるのが便利ですよ!