Linuxでgzip形式の圧縮ファイルを解凍する場面は、ソフトウェアのインストールやバックアップの復元など日常的に発生します。
この記事では、
gunzip コマンドの基本的な使い方から、gzip -d との違い、オプションの詳細、よくあるトラブルの対処法まで解説します。・gunzip は gzip -d と完全に同じ動作(エイリアス)
・解凍後は元の.gzファイルが削除される(-k で元ファイルを残せる)
・複数ファイルを一括解凍したり、-cで標準出力に出力できる
・.Zファイル(compressコマンド形式)もgunzipで解凍できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
gunzipコマンドとは?gzip -d との関係を理解する
gunzip は、gzip形式(.gz)で圧縮されたファイルを解凍するコマンドです。gzip -d と完全に同じ動作をするエイリアスで、どちらを使っても結果は同じです。解凍後は元の
.gz ファイルが削除され、元ファイルが復元されます。タイムスタンプとパーミッションは元ファイルのものが引き継がれます。なお、
gunzip は gzip で圧縮したファイルだけでなく、compress コマンドで圧縮した .Z ファイルも解凍できます。基本的な使い方
1. .gzファイルを解凍する
最も基本的な使い方です。ファイル名を引数に指定するだけで解凍できます。# gzファイルを解凍する(.gzファイルは削除される) $ ls -l proftpd-1.3.5.tar.gz -rw-rw-r--. 1 pakira pakira 7594509 Jun 25 14:35 proftpd-1.3.5.tar.gz $ gunzip proftpd-1.3.5.tar.gz $ ls -l proftpd-1.3.5.tar -rw-rw-r--. 1 pakira pakira 28354560 Jun 25 14:35 proftpd-1.3.5.tar
proftpd-1.3.5.tar.gz が解凍されて proftpd-1.3.5.tar が復元されました。2. 解凍の詳細を表示しながら解凍する(-v)
-v(verbose)オプションを付けると、解凍率などの詳細情報が表示されます。# 詳細を表示させて解凍する $ gunzip -v proftpd-1.3.5.tar.gz proftpd-1.3.5.tar.gz: 73.2% -- replaced with proftpd-1.3.5.tar
3. 元の.gzファイルを残して解凍する(-k)
-k(keep)オプションを付けると、解凍後も .gz ファイルが削除されずに残ります。# 元の.gzファイルを残して解凍する $ gunzip -k proftpd-1.3.5.tar.gz $ ls -l proftpd-1.3.5.tar* -rw-rw-r--. 1 pakira pakira 28354560 Jun 25 14:35 proftpd-1.3.5.tar -rw-rw-r--. 1 pakira pakira 7594509 Jun 25 14:35 proftpd-1.3.5.tar.gz
4. 解凍せずに標準出力に出力する(-c)
-c オプションを使うと、解凍したデータを標準出力に出力できます。元の .gz ファイルは削除されません。zcat コマンドと同じ動作です。# .gzファイルの中身を解凍せずに確認する(zcatと同じ) $ gunzip -c access.log.gz | head -20
応用・実務Tips
gunzipのオプション一覧
・-c:解凍結果を標準出力に出力する(元の.gzファイルは削除しない)・-f:同名ファイルが存在した場合、確認せず強制上書きする
・-k:元の.gzファイルを残したまま解凍する
・-v:解凍の詳細(ファイル名・圧縮率)を表示する
gzip -d との使い分け
gunzip と gzip -d は完全に同じ動作です。チームや環境によって慣習が異なる場合がありますが、どちらを使っても問題ありません。# 以下の2つは完全に同じ動作 $ gunzip proftpd-1.3.5.tar.gz $ gzip -d proftpd-1.3.5.tar.gz
トラブルシュート・エラー対処
「not in gzip format」が出た場合
拡張子は.gz でも、ファイルが壊れているか別の形式です。file コマンドで実際の形式を確認しましょう。# ファイルの実際の形式を確認する $ file proftpd-1.3.5.tar.gz proftpd-1.3.5.tar.gz: bzip2 compressed data, block size = 900k # bzip2形式だったのでbunzip2で解凍する $ bunzip2 proftpd-1.3.5.tar.gz
「Permission denied」が出た場合
解凍対象のファイルや出力先ディレクトリへの書き込み権限がありません。# パーミッションを確認する $ ls -l 対象ファイル.gz # root権限で解凍する $ sudo gunzip 対象ファイル.gz
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| .gzファイルを解凍する | gunzip ファイル名.gz |
| gzip -d で解凍する(同じ動作) | gzip -d ファイル名.gz |
| 詳細を表示しながら解凍する | gunzip -v ファイル名.gz |
| 元の.gzファイルを残して解凍する | gunzip -k ファイル名.gz |
| 解凍せずに中身を確認する | gunzip -c ファイル名.gz |
| 強制上書きして解凍する | gunzip -f ファイル名.gz |
Linuxのファイル圧縮・解凍を現場で使いこなしたい方へ
gunzip/gzip/tarをはじめとした圧縮・解凍コマンドは、バックアップ・ソフトウェア展開・ログ管理など、現場のLinuxサーバー管理で毎日のように使います。
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:tarコマンドで圧縮・解凍(展開)する方法|必須のzxvfやディレクトリ指定も
- 前のページへ:Linuxでファイルを圧縮・解凍するコマンド一覧|gzip・bzip2・xzの使い分けと比較
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドF-J・圧縮・解凍・アーカイブ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます