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