在Linux中,下载文件时,常见的压缩文件都有扩展名,如。焦油。或。大部分用户都熟悉的gz。那为什么Linux要有那么多压缩格式,Tar、Zip、Gz有什么区别?在这篇论文中,系统极客将为大家聚在一起。
Tar、Zip和Gz格式的差异
Tar、Zip和Gz之间的区别可以用最简单的描述概括如下:
Tar未压缩存档文件
Zip(通常)压缩归档文件
由G压缩的gz文件(已存档或未存档)
存档文件的历史记录
像Unix和类似Unix的系统一样,故事开始于很久以前的20世纪70年代。1979年1月初,Tar utility首次作为Unix V7的一部分正式推出。当时Tar程序主要是作为一种批量高效地将文件写入磁带的方式来设计的。现在,虽然大多数Linux用户不知道什么是磁带机,但tarballs(tar的昵称)仍然常用于将多个文件甚至整个目录树打包成一个文件。
Linux/Unix用户要注意的是,普通tar格式的文档只存档,不压缩。换句话说,如果你tar 100个50kb的文件,那么tar的存档大小应该是5000kb左右。
使用Tar进行文件归档的唯一好处是减少了一定粒度的磁盘之间的分配空。(例如,在群集大小为4kb的磁盘上,1字节文件也占用4kb磁盘/[/k0/)。如果这个磁盘上分散着1000个1字节的文件,会占用4MB,但是Tar存档后只有1MB左右。)
值得一提的是,在Linux/Unix中,tar并不是创建归档文件的唯一方式。程序员朋友应该都知道ar,大部分情况下主要用来创建静态库。其实也可以用来创建其他种类的档案。例如。deb系统中使用的deb包文件是ar档案。macOS的mpkg包是g压缩的cpio文件。但是ar和cpio没有tar那么友好,使用起来也不简单,所以Tar更受欢迎,更受欢迎。
虽然存档是一个不错的选择,但是随着时间的推移和个人PC时代的到来,人们意识到压缩数据可以大大节省存储成本。所以10年后随MS-DOS出现的文档是支持压缩的存档格式,最常用的压缩方法是用LZ77算法实现的deflate。因为是PKWARE开发的,所以格式也是受专利保护多年的。因此,为了不侵犯PKWARE的专利,也采用LZ77算法的g格式被引入并广泛使用。
Unix的哲学是做最好的事情,所以g只是设计用来压缩文件的。因此,为了创建一个压缩的归档文件,需要先用tar创建归档文件,然后压缩归档文件,这样就有了tar.gz文件(也称为。简称tgz,以符合8.3 MS-DOS文件名限制)。
随着技术的不断发展,压缩比更高的压缩算法被一个个实现,比如b2和中实现的Burrows-Wheeler算法(tar.bz2 archive)。LZMA算法实现的xz档案。
现在,用户可以在Linux和Windows中自由使用任何归档文件格式。Zip格式已经被Windows操作系统本机支持,所以特别适合跨平台环境。
Tar、Zip和Gz格式的效率测试
下面我们讨论的是磁盘间空效率,而不是Tar、Zip和Gz文件格式压缩和归档后的时间效率。以下是100MB流行格式文件的测试对比:
-运维组云维派网-
-技术和技术社区,特别关注it运输和维护-
1.《压缩文件格式rar和zip有什么区别 Linux常见压缩格式Tar、Zip和Gz格式之不同》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《压缩文件格式rar和zip有什么区别 Linux常见压缩格式Tar、Zip和Gz格式之不同》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/808535.html