前面已经进介绍过Linux中用到的归档程序tar,文件压缩解压程序gzip、zip,今天继续介绍另外四种常见的压缩程序bzip2、compress、xz、rar。
文件压缩bzip2
bzip2采用的是新的压缩演算法压缩文件,生成的“.bz2”压缩格式文件相对于“.gz”格式算法更先进、压缩比更好,但“.gz”格式压缩速度更快。bzip2命令压缩后文件通常以“.bz2”作为扩展名,对应的解压缩命令是bunzip2。
bzip压缩 1、bzip2命令语法bzip2 [选项] [文件]
命令中选项的含义:-c:将压缩与解压缩的结果送到标准输出
-f:在压缩或解压缩时,如果输出文件与现有文件同名,则覆盖现有文件
-k:在压缩或解压缩后,会保留原文件
-s:降低程序执行时内存的使用量
-t:测试压缩文件的完整性
-v:压缩或解压缩文件时,显示详细信息
-z:强制执行压缩-1...-9:设置块的大小到100k...900k
-best:-1的别名 -fast:-9的别名-q:禁止非关键性的错误信息
2、bzip2命令压缩、解压
将/home/test文件压缩成/home/test.bz2:
// bzip2 命令只需指定源文件
-rw-r--r-- 1 root root 56 8月 25 02:37 /home/test.bz2
显示/home/test.bz2的信息:
Hello World
将/home/test.bz2解压缩:
/home/test.bz2: done
3、bunzip2命令解压
bunzip2实际上是bzip2的符号链接文件,但bunzip2命令和bzip2命令的功能正好相反,与执行bzip2 -d命令效果相同。
解压/home/test.bz2:
-rw-r--r-- 1 root root 12 8月 25 02:37 /home/test
xz
xz是一个使用LZMA压缩算法的无损压缩文件格式,和gzip、bzip2一样,支持多文件压缩,但xz不能将多于一个的目标文件压缩进同一个归档文件,xz比gzip、bzip2的压缩率更高、生成的文件更小,而且解压缩数据的速度也非常快。xz命令压缩后文件通常以“.xz”作为扩展名。
xz
1、xz命令语法 xz [选项] [文件] 命令中选项的含义: -z:强制执行压缩 -d:强制执行解压缩-t:测试压缩文件的完整性
-l:列出压缩文件的信息 -k:保留源文件不要删除-f:强制覆盖输出文件和压缩链接
-c:写入到标准输出,输入文件不要删除
-0...9:压缩比例,默认为6
-v:显示更详细的信息 2、xz命令压缩、解压将/home/test文件压缩成/home/test.xz:
// xz 命令只需指定源文件
-rw-r--r-- 1 root root 56 8月 25 08:43 /home/test.xz
将/home/test.Z解压缩:
3、xzcat查看压缩文件
使用xzcat命令查看压缩文件内容。
查看/home/test.xz的内容:
Hello World
compress
compress是一款历史悠久的unix 档案压缩指令,文件压缩后,名称后面多出“.Z”的扩展名。事实上,compress命令使用的压缩算法不够先进,很多场合被gzip和gunzip所替代,但一些老的压缩文件可能还是.Z格式。
compress压缩1、compress命令语法
compress [选项] [文件]
命令中选项的含义:-b<压缩效率>:压缩效率是一个介于9~16的数值,预设为16,指定值越大压缩效率越高
-c:把压缩后的文件输出到标准输出设备,不删除原始文件
-d:对文件进行解压缩-f:强制执行压缩或解压缩
-r:递归处理,将指定目录下的所有文件及子目录一并处理
-v:显示压缩统计信息2、compress命令压缩、解压
将/home/test文件压缩成/home/test.Z:
// compress 命令只需指定源文件
-rw-r--r-- 1 root root 56 8月 25 06:42 /home/test.Z
将/home/test.Z解压缩:
3、uncompress命令解压
uncompress命令可以解压.Z格式压缩文件,而uncompress实际上是指向compress的符号链接(软链接)。
解压/home/test.Z:
rar
rar是一款无损数据压缩方式,rar文件通常比zip文件压缩比更高,但压缩速度慢,rar压缩文件头要占用一定的磁盘空间,所以在数据压缩余地不大时,压缩过的文件可能比未压缩的源文件还要大,rar压缩文件的扩展名是“.rar”。
rar压缩 1、rar命令语法rar [命令] [开关] [压缩文件] [文件] [@列表文件] [解压路径]
命令中[命令]部分的含义:
-a:添加文件到压缩文件中
-c:添加压缩文件注释 -ch:更改压缩文件参数 -r:修复压缩文件-x:使用完整路径压缩文件
-t:测试压缩文件完整性-u:在压缩文件中更新文件
-k:锁定压缩文件-e:无需压缩文件路径解压文件
-d:从压缩文件中删除文件
-cw:写入压缩注释到文件
-f:刷新压缩文件中的文件
-i[par]=
-l[t[a],b]:列出压缩文件内容
-m[f]:移动到压缩文件中
-p:打印文件到标准输出 -rc:重建丢失的卷 -m:重命名压缩文件-rr[N]:添加数据恢复记录
-s[name|-]:转换压缩文件成自解压文件
-v[t[a],b]:详细列出压缩文件内容
-rv[N]:创建恢复卷命令中[开关]部分的含义:
-p<密码>:设置密码-x<文件>:排除指定的文件
-w<路径>:指定工作目录
-z<文件>:读取压缩文件的注释
-y:所有查询均回答yes
-cu:将文件名转换为大写
-cl:将文件名转换为小写
-o+:覆盖已有文件 -o-:不覆盖已有文件-tl:设置压缩文件时间为最新文件时间
-ep:从名称中排除路径-epl:从名称中排除基本路径
2、rar命令压缩、解压压缩/home/test_d目录:
// 创建/home/test_d目录和/home/test_d/file.log文件
RAR 5.01 Copyright (c) 1993-2013 Alexander Rosh1 1 Dec 2013
Trial version Type RAR -? for help
Evaluation copy. Please register.
Creating archive /home/test_d.rar
Adding /home/test_d/file.log
Adding /home/test_d
-rw-r--r-- 1 root root 56 8月 25 08:37 /home/test_d.rar
将file1、file2文件一起压缩到file.rar之后,删除源文件:
RAR 5.01 Copyright (c) 1993-2013 Alexander Rosh1 1 Dec 2013
Trial version Type RAR -? for help
Evaluation copy. Please register.
Creating archive file.rar
Adding file1
Adding file2
Deleting file2 deleted
Deleting file1 deleted
-rw-r--r-- 1 root root 56 8月 25 08:44 file.rar
ls: 无法访问file1: 没有那个文件或目录
ls: 无法访问file2: 没有那个文件或目录
将file3压缩到已经存在的file.rar中:将
RAR 5.01 Copyright (c) 1993-2013 Alexander Rosh1 1 Dec 2013
Trial version Type RAR -? for help
Evaluation copy. Please register.
Creating archive file.rar
Adding file3
检测/home/test_d.rar压缩文件完整性:
RAR 5.01 Copyright (c) 1993-2013 Alexander Rosh1 1 Dec 2013
Trial version Type RAR -? for help
Testing archive /home/test_d.rar
Testing /home/test_d/file.log
Testing /home/test_d
解压缩/home/test_d.rar文件,如果已经存在文件则覆盖:
RAR 5.01 Copyright (c) 1993-2013 Alexander Rosh1 1 Dec 2013
Trial version Type RAR -? for help
Extracting from /home/test_d.rar
Extracting /home/test_d/file.log
3、unrar命令语法unrar [命令] [开关] [压缩文件] [文件] [@列表文件] [解压路径]
命令中[命令]部分的含义:
-e:无需压缩文件路径解压文件
-l[t,b]:列出压缩文件内容
-p:打印文件到标准输出 -t:测试压缩文件-v[t,b]:详细列出压缩文件内容
-x:用完整路径解压缩文件
命令中[开关]部分的含义:
-u:更新文件 -p<密码>:设置密码 -p-:不查询密码-cu:将文件名转换为大写
-cl:将文件名转换为小写
-ow:排除指定文件 -c:禁止注释显示-x<文件>:排除指定文件
-x@<列表>:排除指定列表文件中列出的文件
-o+:覆盖已有文件 -o-:不覆盖已有文件 -ai:忽略文件属性4、列出/home/test_d.rar压缩文件内容
UNRAR 5.01 freeware Copyright(c) 1993-2013 Alexander Rosh1
Archive:/home/test_d.rar
Details:RAR 4
Attributes Size Date Time Name
------- ------- ------- ------- -------
-rw-r--r-- 37 8月 25 08:06 /home/test_d/file.log
drwxr-xr-x 0 3月 18 17:16 home/test_d
------- ------- ------- ------- -------
5、解压缩/home/test_d.rar文件到新目录/home/test_d2
// 创建目录/home/test_d2
UNRAR 5.01 freeware Copyright(c) 1993-2013 Alexander Rosh1
Extracting from /home/test_d.rar
Extracting /home/test_d2/file.log