このページの内容

3 gzipの実行

gzipプログラムの実行形式は次のとおりです。

gzip option ...

gzipは次のオプションに対応しています。

--stdout
--to-stdout
-c

出力を標準出力へ書き出し、元のファイルは変更しません。入力ファイルが複数ある場合、出力は個別に圧縮されたメンバーの連なりになります。より高い圧縮率を得るには、すべての入力ファイルを連結してから圧縮してください。

--decompress
--uncompress
-d

展開します。

--force
-f

ファイルに複数のリンクがある場合、対応するファイルがすでに存在する場合、圧縮データを端末から読んだり端末へ書いたりする場合でも、圧縮または展開を強制します。入力データがgzipの認識できる形式でなく、オプション--stdoutも指定されている場合は、入力データを変更せずに標準出力へコピーします。つまり、zcatをcatと同じように動作させます。-fを指定せず、バックグラウンドで実行していない場合、gzipは既存ファイルを上書きしてよいかを確認します。

--help
-h

オプションを説明するヘルプメッセージを表示して終了します。

--keep
-k

圧縮・展開時に入力ファイルを保持し、削除しません。

--list
-l

各圧縮ファイルについて、次の項目を一覧表示します。

compressed size: size of the compressed file
uncompressed size: size of the uncompressed file
ratio: compression ratio (0.0% if unknown)
uncompressed_name: name of the uncompressed file

オプション--verboseと組み合わせると、次の項目も表示されます。

method: compression method (deflate,compress,lzh,pack)
crc: the 32-bit CRC of the uncompressed data
date & time: timestamp for the uncompressed file

gzip形式でないファイルのCRCはffffffffと表示されます。

--verboseを指定すると、サイズが不明なものがある場合を除き、全ファイルの合計サイズと圧縮率も表示します。--quietを指定すると、見出し行と合計行は表示しません。

--license
-L

gzipのライセンスを表示して終了します。

--no-name
-n

圧縮時には、既定で元のファイル名とタイムスタンプを保存しません。(名前を切り詰める必要があった場合は、元の名前を必ず保存します。)展開時には、元のファイル名が保存されていても復元せず、圧縮ファイル名からgzipの接尾辞を取り除くだけです。元のタイムスタンプが保存されていても復元せず、圧縮ファイルのタイムスタンプをコピーします。展開時には、このオプションが既定です。

--name
-N

圧縮時には元のファイル名を必ず保存します。元のファイルが通常のファイルであり、そのタイムスタンプが1以上(1970-01-01 00:00:01 UTC以降)で232未満(うるう秒を数えない場合の2106-02-07 06:28:16 UTCより前)であれば、元の変更タイムスタンプの秒の部分も保存します。圧縮時にはこれが既定です。展開時には、保存されたファイル名とタイムスタンプがあれば復元します。ファイル名の長さに制限があるシステムや、ファイル転送後にタイムスタンプが失われた場合に役立ちます。

--quiet
-q

すべての警告メッセージを抑制します。

--recursive
-r

ディレクトリ構造を再帰的にたどります。コマンド行で指定したファイル名のいずれかがディレクトリの場合、gzipはその中へ降りて、見つかったファイルをすべて圧縮します。gunzipの場合は展開します。

--rsyncable

圧縮データストリームの内部構造を定期的にリセットし、rsyncプログラムで扱いやすくします。このフラグで圧縮した2ファイルを同期するとき、rsyncは圧縮前の入力の類似性を利用できます。その代わり、圧縮後の出力は通常約1%大きくなります。

--suffix suf
-S suf

「.gz」の代わりに接尾辞sufを使います。「/」を含まない限り任意の接尾辞を指定できますが、他のシステムへファイルを転送したときに混乱しないよう、「.z」「.gz」以外の接尾辞は避けてください。空の接尾辞を指定すると、gunzipは接尾辞に関係なく、指定されたすべてのファイルの展開を試みます。たとえば、次のようにします。

gunzip -S "" *        (*.* for MSDOS)

gzipの以前のバージョンは接尾辞「.z」を使っていました。packとの衝突を避けるために変更されました。

--synchronous

ファイルシステムが対応する場合、出力データを出力ファイルの記憶装置へ転送する同期出力を使います。ファイルシステムのデータはキャッシュされることがあるため、このオプションを使わずに「gzip FOO」のようなコマンドを実行する前後でシステムがクラッシュすると、FOOとFOO.gzの両方が失われる可能性があります。このオプションを使わない動作が、データを移動するほとんどのアプリケーションと同様、gzipでも既定です。このオプションを使うとgzipの安全性は高まりますが、大幅に遅くなる場合があります。

--test
-t

検査を行います。圧縮ファイルの整合性を確認します。

--verbose
-v

詳細表示を行います。圧縮した各ファイルの名前とサイズの減少率を表示します。

--version
-V

バージョン表示を行います。バージョン番号とコンパイル時のオプションを表示して終了します。

--fast
--best
-n

指定した数字nで圧縮速度を調整します。-1または--fastは最も速い圧縮方式(圧縮率は低い)を、--bestまたは-9は最も遅い圧縮方式(最適な圧縮率)を指定します。既定の圧縮レベルは-6です。つまり、速度より高い圧縮率を優先します。

終了ステータス0は成功、1は失敗、2は失敗ではない警告を示します。