本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「gzip」コマンドと「gunzip」コマンドです。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルを圧縮する「gzip」コマンドと、ファイルを伸張する「gunzip」コマンドを解説します。
gzipはファイルを圧縮するコマンド、gunzipは伸張する(圧縮ファイルを元に戻す)コマンドです。複数のファイルをまとめるという“アーカイブ機能”はなく、1つ1つのファイルに対して機能します。
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」にする)
なお、gzipコマンド/gunzipコマンドで元のファイルを残したい場合は、「-k」オプションを使用します。
Copyright © ITmedia, Inc. All Rights Reserved.