今号では、gzip コマンドによるファイルの圧縮、展開について紹介します!
前回の記事 (tar コマンドを使ったファイルのアーカイブ・展開) と併せて見ていただければと思います。
gzip とは
gzip とは、ファイルを圧縮してサイズを小さくするためのコマンドです。
前回の記事で紹介した tar コマンドとは異なり、基本的には 1つのファイルを圧縮するためのものです。
そのため、複数ファイルをまとめる (アーカイブする) 機能はありません。
基本の書式
- ファイルを圧縮
gzip [ファイル名]
の書式で実行します。例: $ gzip test.txt $ ls test* test.txt.gz
上記のコマンドを実行すると、元のファイル (test.txt) が消えて圧縮後のファイル (data.txt.gz) のみになります。
- ファイルを展開
gzip -d [ファイル名] もしくは gunzip [ファイル名] の書式で実行します。例: $ gzip -d test.txt.gz $ ls test* test.txt
例: $ gunzip test.txt.gz $ ls test* test.txt
ファイルの圧縮時と同様に、上記のコマンドを実行すると、元のファイル (test.txt.gz) が消えて展開後のファイル (data.txt) のみになります。
gzip コマンドのオプション
gzip コマンドの基本的なオプションをご説明します。
※すべてのオプションはご紹介せず、よく使用されると考えられるものを抜粋しています。
- -r
ディレクトリ内のファイルを再帰的に圧縮します。$ gzip -r testdir $ ls testdir/subdir1 test1.txt.gz $ ls testdir/subdir2 test2.txt.gz
※圧縮されるのは、ディレクトリ配下にあるファイルのみです。
なお、-r を指定せずにディレクトリを指定すると、下記のエラーが表示されます。
$ gzip -d testdir gzip: testdir is a directory -- ignored
- -k
ファイルの圧縮、展開時に元のファイルを削除せず残します。$ gzip -k test.txt $ ls test* test.txt test.txt.gz
$ gzip -dk test.txt.gz $ ls test* test.txt test.txt.gz
- -l
圧縮ファイルの圧縮率や元のサイズを確認します。$ gzip -l test.txt.gz compressed uncompressed ratio uncompressed_name 29 0 0.0% test.txt※この操作では、ファイルの展開は行われません。

