Bootstrap

linux zip压缩gzip,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.三种压缩工具比较总结

30612d4c858fade99fecc1731fc122e9.png

(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展开压缩的归档文件是无需指明索要解压扩展的文件的压缩算法,因为其可以自动识别

0b1331709591d260c1c78e86d0c51c18.png

;