gzip

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
gzip
拡張子 .gz
MIME Type application/gzip
タイプコード Gzip
UTI org.gnu.gnu-zip-archive
マジックナンバー \x1f\x8b
開発者 Jean‐Loup GaillyMark Adler
種別 データ圧縮
テンプレートを表示
GNU Gzip
開発元 GNU Project
最新版 1.6 / 2013年6月9日(18か月前) (2013-06-09
プログラミング言語 C言語
対応OS クロスプラットフォーム
種別 データ圧縮
ライセンス GPL
公式サイト http://www.gnu.org/software/gzip/
テンプレートを表示

gzip(ジー・ジップ)とは、「GNU zip」の略であり[1]、汎用のデータ圧縮プログラムであるgzipコマンドを指す。ヘッダー・フッターの gzip 形式は RFC 1952 として仕様化されている。伸張にはgzip -dコマンドまたはgunzipコマンドを用いる。

概要[編集]

ほぼ全てのUNIXに標準搭載されているcompressコマンドがLZW関係の特許により自由な利用ができなくなったため、その置き換えを狙ってGNUプロジェクトにより開発された。現在、フリーのPC-UNIXにはほぼ確実に搭載されており、PC-UNIX界ではその目的は達成されたと言ってよい。アーカイブファイルであるZIPとは互換性はない。

gzipは、Lempel-Ziv アルゴリズム(LZ77)とハフマン符号を用いており、従来のcompressよりも圧縮率が高いことが特徴である。ただし非常に冗長なファイルでは、compressの方が圧縮率が高いこともある。開発者向けにライブラリとしてzlibが作成され、これにより広く使われる形式となった。gzipによって圧縮されたファイルの拡張子は慣習的に.gzを用いる(初期のgzipは.zを用いたが、packとの混同を避けるため変更された)。

また、gzipコマンドは標準入力から受け取ったデータを圧縮し、標準出力から取り出すことができる(gunzipは逆の動作)ため、ファイル圧縮に限らず、多用な目的に使用できる。

gzipはファイルアーカイバとしての機能は持たない。そのため、ファイルをtarコマンドによってアーカイブファイルにした後、更にgzip圧縮するという使い方も一般的である。GNU tarにはアーカイブをgzipにフィルタする-zオプションが付いている。これによりアーカイブと圧縮を同時に、あるいは抽出と伸張を同時に行うことができる。gzip圧縮したtarアーカイブは拡張子.tar.gzまたは.tgzを付ける習慣がある。

HTTP 1.1にはデータを圧縮し転送量を減らす機能があるが、gzipはその際の圧縮フォーマットの一つとしても使われている。また、gzipはその仕様がRFC 1952で記述されている。

今日では、圧縮・伸張の速度より圧縮率の高さを重視する場合には、bzip2xzを使用することが多い。

互換性[編集]

gzipは、zipcompresscompress -Hpackで圧縮されたファイルを伸張することができる。ただしzipファイルについては、Deflate法で圧縮されファイルが1つしか含まれていない場合にだけ伸張できる。gzipがインストールされているシステムでは、gunzipzcatuncompressコマンドが、gzipコマンドへのハードリンクとして存在していることが多い。

主なオプション[編集]

-r
サブディレクトリに渡って圧縮する
-v
詳細情報を表示する
-数字
圧縮率の調整 (例:-9 圧縮率を最大にする -1 圧縮速度を最大にする)
-f
上書きを強制する

拡張子[編集]

.gz[1][2][3]

tarと組み合わせる場合には.tar.gzもしくは.tgzとする。

Media Type[編集]

2012年8月に発行されたRFC 6713application/gzipが定義されて、IANAにも正式に登録された。以前はapplication/x-gzipapplication/x-gzip-compressedなどが用いられていた。[3]

tarによるアーカイブがなされている場合は、非公式のapplication/x-tar-gzも用いられる。[要出典]

出典[編集]

  1. ^ a b Jean-loup Gailly; Mark Adler (2003年7月27日). “The gzip home page” (英語). 2014年11月7日閲覧。
  2. ^ Free Software Foundation, Inc.; Jean-loup Gailly (2013年6月11日). “Overview - GNU Gzip” (英語). gzip - gzip: the data compression program. Free Software Foundation. 2014年11月7日閲覧。
  3. ^ a b Levine, John (2012年8月). “RFC 6713 - The 'application/zlib' and 'application/gzip' Media Types” (英語). Internet Engineering Task Force. 2014年11月6日閲覧。

外部リンク[編集]