Linux での gzip コマンドの使い方
gzip はコマンドラインユーティリティであり、.gz 形式のアーカイブを作成したり展開したりすることができます。gzip コマンドはファイルごとに圧縮ファイルを作成します。複数のファイルやディレクトリを一つの圧縮ファイルに圧縮したい場合は、tar コマンドを使って .tar アーカイブを作成し、gzip コマンドを使って .tar アーカイブを圧縮する必要があります。オーディオファイルや画像ファイルなどのバイナリファイルは既に圧縮されているので、gzip コマンドを使って圧縮することは推奨されていません。
gzip の構文
gzip [OPTION]... [FILE]...
[FILE]... は圧縮するファイルを表し、[OPTION]... は圧縮や伸長処理をカスタマイズするためのオプションを表します。
gzip を用いてファイルを圧縮する
gzip を使ってファイルを圧縮するコマンドは以下の通りです。
gzip filename
これは gzip を用いて filename を filename.gzip に圧縮し、元のファイルを削除します。
元のファイルを残したい場合は、コマンドと一緒に -k オプションを使用します。
gzip -k main.py
これはファイル main.py を main.py.gz に圧縮し、元のファイルを保持します。
これは gzip コマンドが標準出力に出力を書き込むように指示するもので、標準出力を .gzip ファイルにリダイレクトします。
gzip -c main.py > main.py.gz
また、元のファイルを保持したまま main.py ファイルを main.py.gz に圧縮します。
冗長な出力を得るには、-v オプションを使用します。
gzip -v main.py
出力:
main.py: 18.6% -- replaced with main.py.gz
出力から、圧縮中のファイルサイズの減少率を見ることができます。
gzip を用いて複数のファイルを一度に圧縮する
gzip を用いて複数のファイルを一度に圧縮するには、gzip コマンドを用います。
gzip main.py file.py process.py
これにより、main.py、file.py、process.py が main.py.gz、file.py.gz、process.py.gz としてそれぞれの .gz ファイルに圧縮されます。
gzip を用いてディレクトリ内のすべてのファイルを圧縮する
gzip を用いてディレクトリ内のすべてのファイルを圧縮するには、gzip コマンドの -r オプションを用います。
gzip -r test_dir
これは test_dir 内の個々のファイルを .gz で終わるそれぞれの圧縮ファイルに圧縮します。
gzip を用いたファイルの展開
gzip を用いて .gz ファイルを展開するには、gzip コマンドの -d オプションを用います。
gzip -d filename.gz
これにより、gzip を用いて filename.gz を filename に展開し、圧縮ファイルを削除します。
また、gunzip コマンドを用いて .gz ファイルを展開することもできます。
gunzip main.py.gz
これは gzip を使って main.py.gz を main.py に展開し、圧縮ファイル main.py.gz を削除します。
解凍中に圧縮ファイルを保持したい場合は、コマンドと一緒に -k オプションを使用します。
gzip -dk main.py.gz
これにより、ファイル main.py.gz を main.py に展開し、展開したファイルを保持したまま main.py に展開します。
gzip を用いて複数のファイルを一度に展開する
gzip を用いて複数のファイルを一度に圧縮するには、gzip コマンドに -d オプションを付けて、展開したいファイル名をスペースで区切って指定します。
gzip -d main.py.gz file.py.gz process.py.gz
これにより、main.py.gz、file.py.gz、process.py.gz の各ファイルが main.py、file.py、process.py として展開されます。
gzip を用いてディレクトリ内のすべてのファイルを展開する
gzip を使ってディレクトリ内のすべてのファイルを展開するには、gzip コマンドの -d オプションと一緒に -r オプションを使用します。
gzip -dr test_dir
これにより、test_dir 内の個々の圧縮ファイルをそれぞれの解凍ファイルに展開することができます。
gzip コマンドを用いた圧縮ファイルの詳細一覧
gzip コマンドは、-l オプションを使って圧縮ファイルの詳細を取得するためにも使うことができます。
gzip -l main.py.gz
出力:
compressed uncompressed ratio uncompressed_name
28 0 0.0% main.py
main.py.gz ファイルの詳細をすべて表示します。
より詳細な情報を取得するには、-v オプションを追加します。
gzip -l main.py.gz
出力:
method crc date time compressed uncompressed ratio uncompressed_name
defla 00000000 Sep 8 22:15 28 0 0.0% main.py
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn