澳门新葡亰信誉平台游戏gzip、bzip2、xz、tar、zip压缩、归档详解

by admin on 2020年3月1日

过去几周,Arch Linux 维护人员比较了不同的压缩算法,最终计划使用 zstd
取代 devtools 中的默认压缩算法。

gzip、bzip2、xz、tar、zip压缩、归档详解

一、压缩/解压缩工具

压缩比:压缩前后文件体积大小比例

压缩算法:通过分析数据存储模式实现 ,CPU资源占用率换取磁盘空间

1.gzip/gunzip/zcat  – compress or expand files压缩或者展开文件

gzip  [OPTION]…  FILE…  默认会删除原文件

-d:解压缩,相当于gunzip;

-#:指定压缩比,默认是6;数字越大压缩比越大(1-9);

-c:将压缩结果输出至标准输出;gzip  -c  FILE > /PATH/TO/SOMEFILE.gz

2.bzip2/bunzip2/bzcat

bzip2  [OPTION]…  FILE…  默认会删除原文件

-d:解压缩

-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);

-k:keep,保留原文件;

3.xz/unxz/xzcat;lzma/unlzma/lzcat

xz [OPTION]… FILE…  默认会删除原文件

-d:解压缩

-#:指定压缩比;默认是6;数字越大压缩比越大(1-9);

-k:保留原文件;

4.三种压缩工具比较总结

澳门新葡亰信誉平台游戏 1

(1)在较小文件,特别是文本文件的处理上gzip算法压缩后效果最好

(2)对也大文件,实际上zx的算法压缩比最优,远超gzip,bzip2比gzip好点

(3)bzi2比gzip压缩比优一点,但时不明显

(4)gzip、bzip2、xz都只支持压缩文件 不支持目录

(5)zcat、bzcat、xzcat都能直接查看压缩文件的内容,而不用去单独解压

实际上zcat、bzcat、xzcat将其加压在临时文件内以供查看,所以对大文件不建议用此类命令,过于占用CPU资源

二、归档

归档:把多个文件打包成一个文件,归档本身会使得文件变大,所以归档之后一般压缩

1.tar

tar  [OPTION]…  FILE…

-f  /PATH/TO/SOMEFILE.tar  :file,定义归档文件名和类型

归档多个文件或者目录,且不删除原文件,不指明路径默认当前路径,选项可以不加-

(1)创建归档

-c -f /PATH/TO/SOMEFILE.tar  FILE…

-cf /PATH/TO/SOMEFILE.tar  FILE…

(2)展开归档(tar默认可以根据文件后缀判断出压缩类型)

-xf  /PATH/FROM/SOMEFILE.tar

-xf  /PATH/FROM/SOMEFILE.tar  -C  /PATH/TO/SOMEDIR  展开至何处

(3)查看归档文件的文件列表

-tf  /PATH/TO/SOMEFILE.tar

(4)归档压缩/解压缩

-z:gzip2算法类型,-zcf      -zxf

-j:bzip2算法类型,-jcf    -jxf

-J: xz算法类型,-Jcf    -Jxf

2.zip/unzip既能压缩解压又能归档,后缀.zip

压缩  zip  newname.zip  file

解压:unzip

归纳总结:

1.文件的后缀对Linux系统无实际意义,但时在压缩解压有实际意义,要注意文件的扩展名

2.gzip、bzip2、xz都只支持压缩文件 不支持目录

3.tar本身只能对文件归档但不能压缩解压操作,通过调用gzip、bzip2、xz实现归档压缩

4.tar纯粹做归档操作,得到的文件大小会比其归档的每个文件大小和还要大

5.tar展开压缩的归档文件是无需指明索要解压扩展的文件的压缩算法,因为其可以自动识别

本文永久更新链接地址:

一、压缩/解压缩工具 压缩比:压缩前后文件体积大小比例
压缩算法:通过分析数据存储模式实现…

澳门新葡亰信誉平台游戏 2

当前的压缩方法是`xz -c -z
-`,它是单线程的,速度很慢,所以团队希望用更快的算法来将其替换。

虽然多线程 xz
早已出现,但是在一些意外情况下无法完成功能,所以很快就被淘汰了。 

新的想法是使用 Facebook 的 zstd
算法,zstd 又叫
Zstandard,它是一种快速无损压缩算法,主要应用于 zlib
级别的实时压缩场景,并且具有更好的压缩比。

zstd
还可以以压缩速度为代价提供更强的压缩比,速度与压缩权衡可通过小增量进行配置。

经过一系列测试后 Arch 团队得出结论,理想的 zstd 级别将是“-18”,`zstd -c
-T0 -18 -`相比`xz -c -z -`的优势是:

  • 压缩时速度大幅提高
  • 解压速度大幅提高
  • 稳定、可重复的多线程

澳门新葡亰信誉平台游戏 3

压缩速度的提高将大大提高 pacman 的包安装速度。

目前 zstd 已经处在项目主干上,等待发布。

详情查看邮件说明:

(文/开源中国)    

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图