Linux压缩和解压缩的命令

  • 压缩打包介绍

Linux系统中,我们通常使用的文件压缩命令有:bunzip2 ,bzip2 , cpio , gunzip , gzip ,split(切割文件) , zgrep(在压缩文件中寻找匹配的正则表达式), zip ,unzip, tar等

二、gzip

1. 语法:gzip [选项] 压缩(解压缩)的文件名

2. 该命令的各选项参数含义:

-c 将输出写到标准输出上,并保留原有文件。

-d 压缩文件解压。

-l 对每个压缩文件,显示下列字段:

压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字

-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩

-t 测试,检查压缩文件是否完整。

-v 对每一个压缩和解压的文件,显示文件名和压缩比。

-num 用指定的数字 num 调整压缩的速度,-1 --fast 表示最快压缩方法(低压缩比),

-9 --best表示最慢压缩方法(高压缩比)。系统缺省值为 6

指令实例:

gzip *

% 把当前目录下的每个文件压缩 .gz 文件。

gzip -dv *

% 把当前目录下每个压缩的文件解压,并列出详细的信息。

gzip -l *

% 详细显示例1中每个压缩的文件的信息,并不解压。

gzip usr.tar

% 压缩 tar备份文件usr.tar,此时压缩文件的扩展名为.tar.gz

 

三、bzip2

1. 语法:bzip2[-cdfhkLstvVz][--repetitive-best][--repetitive-fast][- 压缩等级][要压缩的文件]

2. 参数:

-c--stdout  将压缩与解压缩的结果送到标准输出。

-d--decompress  执行解压缩。

-f--force bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖,请使用此参数。

-h--help  显示帮助。

-k--keep bzip2在压缩或解压缩后,会删除原始的文件。若要保留原始文件,请使用此参数。

-s--small  降低程序执行时内存的使用量。

-t--test  测试.bz2压缩文件的完整性。

-v--verbose  压缩或解压缩文件时,显示详细的信息。

-z--compress  强制执行压缩。

-L,--license,

-V--version  显示版本信息。

--repetitive-best  若文件中有重复出现的资料时,可利用此参数提高压缩效果。

--repetitive-fast  若文件中有重复出现的资料时,可利用此参数加快执行速度。

-压缩等级  压缩时的区块大小。

四、xz’

Xz压缩的技术
现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。gzipbzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。相反,xz通常作为一种归档文件自身的压缩格式,例如使用tarcpioUnix程序创建的归档。
xz utils lzma utils 的下一代lzma utils 改名 xz utils
压缩时 xz utils 耗时比 bzip2 长一倍,
压缩时 xz utils 耗时是 lzma utils 一半,
压缩时 xz utils 生成文件体积是 bzip2 的一半,
压缩时 xz utils 生成文件体积比 lzma utils 略大,
解压时 xz utils 耗时是 bzip2 的三分之一,
解压时 xz utils 速度比 lzma utils 略快,
解压时 xz utils 耗时仅比 gzip 多一倍。
压缩时 xz utils 使用 *.xz 格式生成文件 *.lzma 格式 略大,
测试样本较小,多次测试结果有出入,无法判断 xz utils 使用 *.xz *.lzma 格式压缩与解压时间 谁占优势。
到目前为止,lzma utils 的压缩率仍是最大的,xz utils 解压时间占优势。
一个 xz 文件格式的实现XZ 实用程序已可在网上自由获得。GNU tar自版本1.22起使用这一软件透明支持xz文件格式(就如同其处理gzip格式或者bzip2格式一样)。随着大量软件进入了公有领域(例如 liblzma等)程序的4.999.9beta版本实现在GNU LGPL GNU GPL条款下发布。
7-Zip9.04 beta版支持了xz文件格式。
xz的使用
xz 【选项】 待压缩的文件
常用选项:
-z强制压缩
-d解压缩.xz结尾的压缩文件
如:
xz glib-2.36.0.tar
xz -d glib-2.36.0.tar.xz
xz的最用法是结合tar的使用
我在网上查了很久都没有找到答案,最后使用man帮助查到结果:
tar 使用J调用xz程序进行压缩和解压缩
如:
tar Jcvf test.tar.xz glib-2.36.0 压缩
tar Jxvf test.tar.xz glib-2.36.0 解压缩