Linux 压缩和解压工具简介
常用的压缩解压工具
压缩 | 解压 | 后缀 | 说明 |
---|---|---|---|
compress | uncompress | .Z | 现已不常用。 |
gzip | gunzip | .gz | 当前使用率最高。 |
bzip2 | bunzip2 | .bz2 | 比gzip压缩比更大,浮动不稳定。 |
xz | unxz | .xz | 压缩比提升明显,算法性能提升。 |
以上只能压缩文件,不能压缩目录。若是想压缩目录,还得靠打包工具。
打包工具 | 后缀 | 说明 |
---|---|---|
tar | .tar | 最常用的一款打包工具,可结合gzip,bzip2,xz进行压缩和解压。 |
zip | .zip | 最通用的一块跨平台打包工具,自带压缩功能。 |
gzip
/gunzip
/zcat
gzip
压缩后缀名必须为.gz
,压缩或解压缩后会删除原文件。
zca
可以查看gzip
压缩后的文本文件内容。
gzip
常用参数:
gzip [OPTION]... FILE...
-d:解压缩,相当于gunzip;
-1:最快压缩,压缩比最小;
-9:最小压缩,压缩比最大;(也可以设定为1-9之间的数值)
-c:将压缩结果输出至标准输出;
# 更多参数可使用 man gzip 或 gzip --help 查看
Tips:gzip
压缩保留源文件。
gzip -c FILE > /PATH/TO/SOMEFILE.gz
bzip2
/bunzip2
/bzcat
bzip2
压缩后缀名必须为.bz2
,压缩或解压缩后会删除原文件。
bzcat
可以查看bzip2
压缩后的文本文件内容。
bzip2
常用参数:
bzip2 [OPTION]... FILE...
-d:解压缩;
-1:最快压缩,压缩比最小;
-9:最小压缩,压缩比最大;(也可以设定为1-9之间的数值)
-k:keep,保留原文件;
bzip2
在gzip
的基础上做了升级,提供了-k
参数,使得其可以使用「官方的方式」保留源文件。
xz
/unxz
/xzcat
xz
压缩后缀名必须为.xz
,压缩或解压缩后会删除原文件。
xzcat
可以查看xz
压缩后的文本文件内容。
xz
常用参数:
xz [OPTION]... FILE...
-d:解压缩;
-1:最快压缩,压缩比最小;
-9:最小压缩,压缩比最大;(也可以设定为1-9之间的数值)
-k:保留原文件;
tar
/zip
tar
tar
只是个归档工具,默认不会压缩。
然而单独归档不能减小体积,甚至反而会加大体积,因为归档代码也需要占用空间,所以归档完成后通常需要压缩,结果此前的压缩工具,就能实现压缩多个文件了。
(1) 创建归档
tar -cf /PATH/TO/SOMEFILE.tar FILE...
(2) 展开归档
tar -xf /PATH/FROM/SOMEFILE.tar
# 展开到指定位置
tar -xf /PATH/FROM/SOMEFILE.tar -C /PATH/TO/SOMEDIR
(3) 查看归档文件的文件列表
tar -tf /PATH/TO/SOMEFILE.tar
(4) 归档压缩
结合压缩工具,我们可以手动将tar包进行压缩。
tar -cf /PATH/TO/SOMEFILE.tar FILE...
gzip /PATH/TO/SOMEFILE.tar
但如果每次都要操作两个步骤,难免会略显麻烦。
tar提供了一些参数,可以一步到位打包压缩:
-z:gzip2
-zcf /PATH/TO/SOMEFILE.tar.gz FILE...
解压缩并展开归档:-zxf /PATH/TO/SOMEFILE.tar.gz
-j:bzip2
-jcf /PATH/TO/SOMEFILE.tar.bz2 FILE...
解压缩并展开归档:-zxf /PATH/TO/SOMEFILE.tar.bz2
-J: xz
-Jcf /PATH/TO/SOMEFILE.tar.xz FILE...
解压缩并展开归档:-zxf /PATH/TO/SOMEFILE.tar.xz
zip
最为通用的压缩工具(Linux/Unix/Windows),本身既能归档,又能压缩,但是压缩比有限。
zip /PATH/TO/SOMEFILE.zip FILE...