<p class="mw-empty-elt">
</p>
<p><b>Gzip</b>是一種壓縮檔案格式並且也是一個在類 Unix 上的一種檔案解壓縮的軟體，通常指GNU計劃的實現，此處的gzip代表GNU zip。也經常用來表示gzip這種檔案格式。軟體的作者是Jean-loup Gailly和Mark Adler。在1992年10月31日第一次公開發布，版本號0.1，1993年2月，釋出了1.0版本。
</p><p>OpenBSD中所包含的gzip版本實際上是<tt>compress</tt>程式，其對gzip檔案的支援在OpenBSD 3.4中被添加，此處的g代表免費（<span lang="en">gratis</span>）。
</p>


<h2><span id=".E6.96.87.E4.BB.B6.E6.A0.BC.E5.BC.8F"></span><span id="文件格式">檔案格式</span></h2>
<p>gzip的基礎是DEFLATE，DEFLATE是LZ77與哈夫曼編碼的一個組合體。DEFLATE最初是作為LZW以及其它受專利保護的資料壓縮演算法的替代版本而設計的，當時那些專利限制了<tt><span data-orig-title="compress" data-lang-code="en" data-lang-name="英語" data-foreign-title="compress"><span>compress</span></span></tt>以及其它一些流行的歸檔工具的應用。
</p><p>檔案格式說明：
</p>
<ul><li>10位元組的頭，包含幻數、版本號以及時間戳</li>
<li>可選的擴充頭，如原檔名</li>
<li>檔案體，包括DEFLATE壓縮的資料</li>
<li>8位元組的章節附註，包括CRC-32校驗和以及未壓縮的原始資料長度</li></ul><p>儘管這種檔案格式允許多個這樣的資料拼接在一起，在解壓時也能認出它們是拼接在一起的資料，但通常gzip僅用來壓縮單個檔案。多個檔案的壓縮歸檔通常是首先將這些檔案合併成一個tar檔案，然後再使用gzip進行壓縮，最後生成的<tt>.tar.gz</tt>或者<tt>.tgz</tt>檔案就是所謂的「tar壓縮檔」或者「tarball」。
</p><p>注意不要將gzip和ZIP壓縮格式混淆。ZIP也使用DEFLATE演算法，而且可移植性更好，不需要一個外部的歸檔工具就可以包容多個檔案。但是，由於ZIP對每個檔案進行單獨壓縮而沒有利用檔案間的冗餘資訊（即結實壓縮），所以ZIP的壓縮率會稍遜於tar壓縮檔。
</p>
<h2><span id="gzip.E5.91.BD.E4.BB.A4.E7.9A.84.E5.B8.B8.E7.94.A8.E9.80.89.E9.A1.B9"></span><span id="gzip命令的常用选项">gzip命令的常用選項</span></h2>
<ul><li>-c，--stdout將解壓縮的內容輸出到標準輸出，原檔案保持不變</li>
<li>-d，--decompress解壓縮</li>
<li>-f，--force強制覆蓋舊檔案</li>
<li>-l，--list列出壓縮檔內儲存的原始檔案的資訊（如，解壓後的名字、壓縮率等）</li>
<li>-n，--no-name壓縮時不儲存原始檔案的檔名和時間戳，解壓縮時不恢復原始檔案的檔名和時間戳（此時，解出來的檔案，其檔名為壓縮檔的檔名）</li>
<li>-N，--name壓縮時儲存原始檔案的檔名和時間戳，解壓縮時恢復原始檔案的檔名和時間戳</li>
<li>-q，--quiet抑制所有警告資訊</li>
<li>-r，--recursive遞迴</li>
<li>-t，--test測試壓縮檔案完整性</li>
<li>-v，--verbose冗餘模式（即顯示每一步的執行內容）</li>
<li>-1、-2、...、-9壓縮率依次增大，速度依次減慢，預設為-6</li></ul><h2><span id=".E8.A1.8D.E7.94.9F.E5.93.81.E5.92.8C.E5.85.B6.E5.AE.83.E5.BA.94.E7.94.A8"></span><span id="衍生品和其它应用">衍生品和其它應用</span></h2>
<p>在大多數Linux發行版中，通過使用 zx 選項來提取.tar.gz格式的壓縮檔案，例如：tar -zxf file.tar.gz。
</p><p>zlib是DEFLATE演算法的實現庫，它的API同時支援gzip檔案格式以及一個簡化的資料流格式。zlib資料流格式、DEFLATE以及gzip檔案格式均已被分別標準化為 RFC 1950、RFC 1951、RFC 1952。
</p><p>gzip在HTTP壓縮 （頁面存檔備份，存於網際網路檔案館），一種在全球資訊網中加速傳輸HTML和其他內容的技術。它是在 RFC 2016 中規定的三種標準HTTP壓縮格式之一。這個RFC（徵求意見稿）頁定義了一種叫做"DEFLATE"的zlib格式，它和gzip格式相同，除了gzip添加了11位元組頭部和尾部的負載。但是，現在還是建議使用gzip而不是zlib，因為根據 RFC 1950, IE（頁面存檔備份，存於網際網路檔案館）還沒有正確的實現該標準，還不能處理zlib格式。
</p><p>zlib DEFLATE 已經在 Portable Network Graphics （頁面存檔備份，存於網際網路檔案館）（PNG）格式中使用。
</p><p>自20世紀90年代末期以來，一個基於資料塊排序演算法的檔案壓縮工具bzip2作為gzip的替代者逐漸得到流行，它可以生成相當小的壓縮檔案，尤其是對於原始碼和其他結構化文字更是這樣，但代價是最高達4倍的記憶體與處理器時間消耗。bzip2壓縮的tar包傳統上叫作<tt>.tar.bz2</tt>或<tt>.tbz</tt>。
</p><p><span data-orig-title="AdvanceCOMP" data-lang-code="en" data-lang-name="英語" data-foreign-title="AdvanceCOMP"><span>AdvanceCOMP</span></span>和7zip內部也有一個DEFLATE實現，可以製作gzip相容的壓縮檔案，與gzip相比有更高的壓縮率，不過比較耗費處理器的處理時間。
</p><p>gzip壓縮檔案對應的解壓程式是<b>gunzip</b>。
</p>
<h2><span id=".E5.8F.82.E8.A7.81"></span><span id="参见">參見</span></h2>

<ul><li>歸檔格式列表</li>
<li>歸檔工具列表</li>
<li>歸檔工具比較</li>
<li>Unix程式列表</li>
<li>.tar.gz.gpg</li>
<li>自由檔案格式</li></ul><h2><span id=".E5.8F.82.E8.80.83.E8.B5.84.E6.96.99"></span><span id="参考资料">參考資料</span></h2>

<h2><span id=".E5.A4.96.E9.83.A8.E9.93.BE.E6.8E.A5"></span><span id="外部链接">外部連結</span></h2>
<ul><li>gzip 檔案格式規範（頁面存檔備份，存於網際網路檔案館）</li>
<li>gzip首頁 （頁面存檔備份，存於網際網路檔案館）以及http://www.gzip.org/（頁面存檔備份，存於網際網路檔案館）</li>
<li>Zlib首頁 （頁面存檔備份，存於網際網路檔案館）</li>
<li>GZIP相關的資源、教程及原始碼（頁面存檔備份，存於網際網路檔案館）</li>
<li>gzip恢復工具箱 （頁面存檔備份，存於網際網路檔案館）</li>
<li>The Online Marketing Benefits of gzip</li></ul><!-- 
NewPP limit report
Parsed by mw2450
Cached time: 20230505225910
Cache expiry: 1814400
Reduced expiry: false
Complications: [show‐toc]
CPU time usage: 0.586 seconds
Real time usage: 0.782 seconds
Preprocessor visited node count: 5034/1000000
Post‐expand include size: 499530/2097152 bytes
Template argument size: 8322/2097152 bytes
Highest expansion depth: 25/100
Expensive parser function count: 73/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 2979/5000000 bytes
Lua time usage: 0.257/10.000 seconds
Lua memory usage: 11577153/52428800 bytes
Number of Wikibase entities loaded: 2/400
--><!--
Transclusion expansion time report (%,ms,calls,template)
100.00%  576.959      1 -total
 50.34%  290.458      7 Template:Navbox
 47.00%  271.186      2 Template:Infobox_software
 44.93%  259.218      3 Template:Infobox
 26.44%  152.542     80 Template:Tsl
 21.40%  123.463      2 Template:Software_version
 19.40%  111.957      1 Template:压缩软件
 19.02%  109.749      4 Template:Plainlist
 16.09%   92.831      5 Template:Wikidata
 10.63%   61.310      1 Template:Archive_formats
-->
**Gzip** 是一種壓縮檔案格式並且也是一個在類 Unix 上的一種檔案解壓縮的軟體，通常指 GNU 計劃的實現，此處的 gzip 代表 GNU zip。也經常用來表示 gzip 這種檔案格式。軟體的作者是 Jean-loup Gailly 和 Mark Adler。在 1992 年 10 月 31 日第一次公開發布，版本號 0.1，1993 年 2 月，釋出了 1.0 版本。

OpenBSD 中所包含的 gzip 版本實際上是 compress 程式，其對 gzip 檔案的支援在 OpenBSD 3.4 中被添加，此處的 g 代表免費（gratis）。

## 檔案格式

gzip 的基礎是 DEFLATE，DEFLATE 是 LZ77 與哈夫曼編碼的一個組合體。DEFLATE 最初是作為 LZW 以及其它受專利保護的資料壓縮演算法的替代版本而設計的，當時那些專利限制了 compress 以及其它一些流行的歸檔工具的應用。

檔案格式說明：

* 10 位元組的頭，包含幻數、版本號以及時間戳
* 可選的擴充頭，如原檔名
* 檔案體，包括 DEFLATE 壓縮的資料
* 8 位元組的章節附註，包括 CRC-32 校驗和以及未壓縮的原始資料長度

儘管這種檔案格式允許多個這樣的資料拼接在一起，在解壓時也能認出它們是拼接在一起的資料，但通常 gzip 僅用來壓縮單個檔案。多個檔案的壓縮歸檔通常是首先將這些檔案合併成一個 tar 檔案，然後再使用 gzip 進行壓縮，最後生成的.tar.gz 或者.tgz 檔案就是所謂的「tar 壓縮檔」或者「tarball」。

注意不要將 gzip 和 ZIP 壓縮格式混淆。ZIP 也使用 DEFLATE 演算法，而且可移植性更好，不需要一個外部的歸檔工具就可以包容多個檔案。但是，由於 ZIP 對每個檔案進行單獨壓縮而沒有利用檔案間的冗餘資訊（即結實壓縮），所以 ZIP 的壓縮率會稍遜於 tar 壓縮檔。

## gzip 命令的常用選項

* -c，--stdout 將解壓縮的內容輸出到標準輸出，原檔案保持不變
* -d，--decompress 解壓縮
* -f，--force 強制覆蓋舊檔案
* -l，--list 列出壓縮檔內儲存的原始檔案的資訊（如，解壓後的名字、壓縮率等）
* -n，--no-name 壓縮時不儲存原始檔案的檔名和時間戳，解壓縮時不恢復原始檔案的檔名和時間戳（此時，解出來的檔案，其檔名為壓縮檔的檔名）
* -N，--name 壓縮時儲存原始檔案的檔名和時間戳，解壓縮時恢復原始檔案的檔名和時間戳
* -q，--quiet 抑制所有警告資訊
* -r，--recursive 遞迴
* -t，--test 測試壓縮檔案完整性
* -v，--verbose 冗餘模式（即顯示每一步的執行內容）
* -1、-2、...、-9 壓縮率依次增大，速度依次減慢，預設為 - 6

## 衍生品和其它應用

在大多數 Linux 發行版中，通過使用 zx 選項來提取.tar.gz 格式的壓縮檔案，例如：tar -zxf file.tar.gz。

zlib 是 DEFLATE 演算法的實現庫，它的 API 同時支援 gzip 檔案格式以及一個簡化的資料流格式。zlib 資料流格式、DEFLATE 以及 gzip 檔案格式均已被分別標準化為 RFC 1950、RFC 1951、RFC 1952。

gzip 在 HTTP 壓縮 （頁面存檔備份，存於網際網路檔案館），一種在全球資訊網中加速傳輸 HTML 和其他內容的技術。它是在 RFC 2016 中規定的三種標準 HTTP 壓縮格式之一。這個 RFC（徵求意見稿）頁定義了一種叫做 "DEFLATE" 的 zlib 格式，它和 gzip 格式相同，除了 gzip 添加了 11 位元組頭部和尾部的負載。但是，現在還是建議使用 gzip 而不是 zlib，因為根據 RFC 1950, IE（頁面存檔備份，存於網際網路檔案館）還沒有正確的實現該標準，還不能處理 zlib 格式。

zlib DEFLATE 已經在 Portable Network Graphics （頁面存檔備份，存於網際網路檔案館）（PNG）格式中使用。

自 20 世紀 90 年代末期以來，一個基於資料塊排序演算法的檔案壓縮工具 bzip2 作為 gzip 的替代者逐漸得到流行，它可以生成相當小的壓縮檔案，尤其是對於原始碼和其他結構化文字更是這樣，但代價是最高達 4 倍的記憶體與處理器時間消耗。bzip2 壓縮的 tar 包傳統上叫作.tar.bz2 或.tbz。

AdvanceCOMP 和 7zip 內部也有一個 DEFLATE 實現，可以製作 gzip 相容的壓縮檔案，與 gzip 相比有更高的壓縮率，不過比較耗費處理器的處理時間。

gzip 壓縮檔案對應的解壓程式是 **gunzip**。

## 參見

* 歸檔格式列表
* 歸檔工具列表
* 歸檔工具比較
* Unix 程式列表
* .tar.gz.gpg
* 自由檔案格式

## 參考資料

## 外部連結

* gzip 檔案格式規範（頁面存檔備份，存於網際網路檔案館）
* gzip 首頁 （頁面存檔備份，存於網際網路檔案館）以及 http://www.gzip.org/（頁面存檔備份，存於網際網路檔案館）
* Zlib 首頁 （頁面存檔備份，存於網際網路檔案館）
* GZIP 相關的資源、教程及原始碼（頁面存檔備份，存於網際網路檔案館）
* gzip 恢復工具箱 （頁面存檔備份，存於網際網路檔案館）
* The Online Marketing Benefits of gzip
.gz