【gzip】Linuxでファイルやディレクトリを圧縮・展開するコマンド

Linuxのgzipコマンドを使うと、ファイルをGZIP形式で圧縮したり、GZIP形式で圧縮されたファイルを展開したりできます。GZIP形式は「.gz」という拡張子が使われます。

gizpコマンドの書式

gzipコマンドの書式は以下の通りです。

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

主なオプション

-c 結果を標準出力に書き込み、元のファイルは変更しない
-r 指定したディレクトリを再帰的に辿る
-q 警告を表示しない
-v 圧縮率を表示する
-数値 圧縮レベルを設定する(※1)

(※1)数値は「-1」から「-9」を設定します。数値が小さい方が、圧縮率が低く高速に圧縮されます。数値が大きい方が、圧縮率は高いですが圧縮に時間がかかります。デフォルトの圧縮レベルは「-6」です。

ファイルを圧縮する

たとえば、「hoge.txt」というファイルを圧縮する場合は以下のように入力すれば、GZIP形式の圧縮ファイルが「hoge.txt.gz」という名前で作成され、元のファイルと置き換わります。

$ gzip hoge.txt

元のファイルが置換されるので、「hoge.txt」というファイルはなくなります。

複数のファイルを圧縮する

複数のファイル名を続けて記述するか、ワイルドカードを使用すれば、複数のファイルをそれぞれ個別のGZIP圧縮ファイルに変換できます。

たとえば、以下のように入力すれば、「hoge1.txt」と「hoge2.txt」が、GZIP形式の圧縮ファイル「hoge1.txt.gz」と「hoge2.txt.gz」に置き換わります。

$ gzip hoge1.txt hoge2.txt

また、以下のように入力すれば、現在のディレクトリ内にある名前の末尾が「.txt」のファイルすべてが、名前の末尾が「.txt.gz」のGZIP形式の圧縮ファイルに置き換わります。

$ gzip *.txt

ファイルを展開する

GZIP形式で圧縮されたファイル(拡張子が「.gz」のファイル)を展開するときは「-d」オプションを付けます。たとえば、「hoge.txt.gz」という圧縮ファイルを展開する場合は以下のように入力します。

$ gzip -d hoge.txt.gz

これで「hoge.txt.gz」が展開され、「hoge.txt」に置き換わります。なお、拡張子の「.gz」は省略可能なので、以下のように入力した場合でも同じ動作になります。

$ gzip -d hoge.txt

複数のファイルを展開する

圧縮時と同様に複数のファイル名を記述したり、ワイルドカードを使用したりすれば、複数のGZIP圧縮ファイルをまとめて展開できます。

$ gzip -d hoge1.txt.gz hoge2.txt.gz
$ gzip -d *.txt.gz