検索
連載

【 gzip 】コマンド/【 gunzip 】コマンド――ファイルを圧縮する/伸張するLinux基本コマンドTips(39)

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「gzip」コマンドと「gunzip」コマンドです。

Share
Tweet
LINE
Hatena
「Linux基本コマンドTips」のインデックス

Linux基本コマンドTips一覧

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルを圧縮する「gzip」コマンドと、ファイルを伸張する「gunzip」コマンドを解説します。

gzipコマンド/gunzipコマンドとは?

 gzipはファイルを圧縮するコマンド、gunzipは伸張する(圧縮ファイルを元に戻す)コマンドです。複数のファイルをまとめるという“アーカイブ機能”はなく、1つ1つのファイルに対して機能します。


gzipコマンド/gunzipコマンドの書式

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

gunzip [オプション] ファイル

※[ ]は省略可能な引数を示しています



gzipコマンド/gunzipコマンドの主なオプション

 gzipコマンド/gunzipコマンドの主なオプションは次の通りです。

短いオプション 長いオプション 意味
-1〜-9 圧縮レベル(「-1」が低圧縮率で高速、「-9」は高圧縮率だが低速)
-c --stdout,--to-stdout 結果をファイルではなく標準出力へ出力する(主にパイプで別コマンドに渡す際に使用)
-d --decompress,--uncompress 伸張を行う(gunzipのデフォルト)
-f --force ファイルを上書きする
-k --keep 圧縮前/伸張前のファイルを残す
-l --list 圧縮率と圧縮前のファイルサイズを表示する(圧縮ファイルに対して使用)
-N --name ファイル名とタイムスタンプを保持する
-n --no-name ファイル名とタイムスタンプを保持しない
-q --quiet エラーメッセージなどを表示しない
-r --recursive ディレクトリを再帰的に処理する
-S 拡張子 --suffix 拡張子 圧縮ファイルの拡張子を指定する(無指定時は「.gz」)
-t --test 圧縮ファイルをテストする
-v --verbose 処理内容を表示する


ファイルを圧縮する/伸張する

 複数のファイルをまとめることを「アーカイブ」、アーカイブからファイルを取り出すことを「展開」、ファイルサイズを小さくすることを「圧縮」、圧縮されたファイルを元に戻すことを「伸張」と呼びます。

 「zip」コマンド(第34回第36回)はアーカイブと圧縮を同時に行うのに対し、gzipコマンドは「圧縮」のみ、gunzipコマンドは「伸張」のみを行います。ちなみに、アーカイブには「tar」コマンドを使用します。

 gzipコマンドで圧縮されたファイルには、元のファイル名に拡張子「.gz」が追加されます。圧縮と同時に元のファイルは削除されるので、例えば「gzip list1.txt」は「list1.txt」を「list1.txt.gz」に変換する、という動作になります(画面1の赤枠部分)。

 逆に、gunzipコマンドで圧縮ファイル(.gz)を伸張した場合は、元の圧縮ファイルが削除されます。つまり、「gunzip list1.txt.gz」は「list1.txt.gz」を「list1.txt」に変換する、という動作になります(画面1の青枠部分)。

コマンド実行例

gzip list1.txt

(「list1.txt」を圧縮して「list1.txt.gz」にする)

gunzip list1.txt.gz

(「list1.txt.gz」を伸張して「memo.txt」にする)


画面1
画面1 赤枠部分が「gzip」コマンドによるファイルの圧縮処理で、青枠部分が「gunzip」コマンドによるファイルの伸張処理

 なお、gzipコマンド/gunzipコマンドで元のファイルを残したい場合は、「-k」オプションを使用します。



ディレクトリ内のファイルをまとめて圧縮する

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る