gzip
拡張子 | .gz |
---|---|
MIMEタイプ | application/gzip |
タイプコード | Gzip |
UTI | org.gnu.gnu-zip-archive |
マジック ナンバー | \x1f\x8b |
開発者 | Jean‐Loup Gailly、Mark Adler |
種別 | データ圧縮 |
ウェブサイト | http://www.gzip.org/ |
開発元 | GNUプロジェクト |
---|---|
最新版 |
1.6
/ 2013年6月9日 |
リポジトリ | |
プログラミング 言語 | C言語 |
対応OS | クロスプラットフォーム |
種別 | データ圧縮 |
ライセンス | GPL |
公式サイト | http://www.gnu.org/software/gzip/ |
gzip(ジー・ジップ)は、データ圧縮プログラムのひとつ、およびその圧縮データのフォーマットである。「GNU zip」の略であり[1]GNUプロジェクトによって開発・メンテナンスされている。ほぼ全てのUNIXに標準搭載されていたcompressはLZWを使用しているため特許侵害の危険があるので、安全・安心な代替としてGNUプロジェクトが初期に開発にとりかかったもののひとつである。アーカイブ機能はない。
フォーマットはRFC 1952 「GZIP File Format Specification」として文書化されている。Windows(及び以前のMS-DOS)文化圏で一般的な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で記述されている。
今日では、圧縮・伸張の速度より圧縮率の高さを重視する場合には、bzip2やxzを使用することが多い。
互換性
gzipは、zip、compress、compress -H、packで圧縮されたファイルを伸張することができる。ただしzipファイルについては、Deflate法で圧縮されファイルが1つしか含まれていない場合にだけ伸張できる。gzipがインストールされているシステムでは、gunzip、zcat、uncompressコマンドが、gzipコマンドへのハードリンクとして存在していることが多い()。
主なオプション
- -r
- サブディレクトリに亘って圧縮する
- -v
- 詳細情報を表示する
- -数字
- 圧縮率の調整 (例:-9 圧縮率を最大にする -1 圧縮速度を最大にする)
- -f
- 上書きを強制する
拡張子
tarと組み合わせる場合には.tar.gz
もしくは.tgz
とする。
Media Type
2012年8月に発行されたRFC 6713でapplication/gzip
が定義されて、IANAにも正式に登録された。以前はapplication/x-gzip
やapplication/x-gzip-compressed
などが用いられていた。[3]
tarによるアーカイブがなされている場合は、非公式のapplication/x-tar-gz
も用いられる。[要出典]
出典
- ^ a b Jean-loup Gailly; Mark Adler (2003年7月27日). “The gzip home page” (英語). 2014年11月7日閲覧。
- ^ 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日閲覧。
- ^ a b Levine, John (2012年8月). “RFC 6713 - The 'application/zlib' and 'application/gzip' Media Types” (英語). Internet Engineering Task Force. 2014年11月6日閲覧。