今天我们就来说说Gzip是什么,它的用途是什么的一些信息。很多朋友对这个信息感兴趣。边肖今天整理了一些相关资料,希望能帮助到有需要的朋友。
Gzip是一种压缩文件格式,是一种在类Unix平台上进行文件解压缩的软件,通常指GNU项目的实现,其中Gzip代表GNU zip。它也常用来表示文件格式gzip。该软件的作者是Jean-loup Gailly和Mark Adler。
Gzip
1992年10月31日首次发布,版本号0.1,1993年2月发布1.0版本。OpenBSD中包含的gzip版本实际上是一个压缩程序,它对gzip文件的支持是在OpenBSD 3.4中添加的,其中G代表免费的。
存储形式
Gzip基于DEFLATE,它是LZ77和霍夫曼编码的结合。DEFLATE最初被设计为LZW和其他专利数据压缩算法的替代版本。当时,这些专利限制了压缩和其他流行的归档工具的应用。
文件格式描述:
10字节头,包括幻数、版本号和时间戳。
可选的扩展名头,如原始文件名
主体,包括紧缩压缩数据。
8字节的尾注,包括CRC-32校验和以及未压缩的原始数据长度。
虽然这种文件格式允许将多个这样的数据拼接在一起,并且在解压缩时它们可以被识别为拼接的数据,但是gzip通常只用于压缩单个文件。多个文件的压缩归档通常是先把这些文件组合成一个tar文件,然后用gzip压缩。产生的。tar.gz或者。tgz文件就是所谓的“tar压缩包”或“tarball”。
注意不要混淆gZIP和ZIP压缩格式。ZIP还使用了DEFLATE算法,它的可移植性更强。它可以容纳多个文件,无需外部文件归档工具。但ZIP的压缩率略低于tar压缩包,因为ZIP是单独压缩每个文件,没有利用文件间的冗余信息(即固体压缩)。
gzip命令的常见选项
-c,-stdout将解压缩的内容输出到标准输出,原始文件保持不变。
-d,解压解压
-f,-- force强制覆盖旧文件。
-l,-list列出了压缩包中存储的原始文件的信息(例如,解压缩后的名称、压缩率等。)
-n,no-name在压缩过程中不保存原文件的文件名和时间戳,在解压缩过程中不恢复原文件的文件名和时间戳(在这种情况下,已求解文件的文件名就是压缩包的文件名)。
-N,name在压缩过程中保存原始文件的文件名和时间戳,在解压缩过程中恢复它。
-q,-quiet禁止显示所有警告消息。
-r,-递归递归
-t,-test测试压缩文件的完整性。
-v,-详细冗余模式(即显示每个步骤的执行内容)
-1, -2,-9压缩比依次增大,速度依次减小,默认值为-6。
衍生产品和其他应用
在大多数Linux发行版中,tar.gz格式的压缩文件是通过使用zx选项提取的,例如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增加了11个字节的头部和尾部有效载荷之外,它和gzip格式是一样的。不过还是建议用gzip代替zlib,因为根据RFC 1950,IE还没有正确实现这个标准,还不能处理zlib格式。
Ibdeflate已经用于可移植网络图形(PNG)格式。
自20世纪90年代后期以来,基于数据块排序算法的文件压缩工具bzip2作为gzip的替代品逐渐流行起来。它可以生成非常小的压缩文件,特别是对于源代码和其他结构化文本,但代价是高达4倍的内存和处理器时间消耗。bzip2压缩的tar包传统上称为tar.bz2或. tbz。
AdvanceCOMP和7zip也有DEFLATE实现,可以制作gzip兼容的压缩文件。与gzip相比,它具有更高的压缩率,但需要大量的处理时间。
gzip压缩文件对应的解压程序是gunzip。
以上是关于什么是Gzip,Gzip是用来做什么的一些信息。边肖整理的资料希望对童鞋们有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!