在Linux下支持的压缩命令非常多,常见的压缩文件的拓展名有*.gz,*.bz2,*.tar.gz,*.tar.bz2等。压缩解压是很常用的功能,但命令参数都稍有点复杂,因此对常用的几个用法做一个简单的总结。
1.gzip
gzip的全称是是GNUzip,是一个非常优秀文件压缩程序。除了*.gz文件外,gzip还可以用来解压*.zip,*.Z等格式的压缩文件。而且*.gz文件也可以用winrar解压,用起来非常方便。下面是一些常用的gzip参数:
gzip -option filename
-c:将压缩的结果显示到屏幕上,原文件不变,可以通过数据流重定向将结果写到文件中去。
-d:解压缩
- f:强制覆盖旧文件
-l:列出压缩包内储存的原始文件的信息,解压后的名字、压缩率等。注意加上-l后即便有-d参数也不会解压缩
-r:递归压缩目录下的所有文件
-t:测试压缩文件的完整性
-v:显示压缩比率
-1~9:压缩等级,数字越大,压得越小,速度越慢,默认等级为6
gunzip -option filename
解压缩命令,相当于gzip-d。所能使用的参数和gzip相同,当然少了-d,也不能设等级。
zcat -filename
查看压缩文件的内容
2.bzip2
bzip2是一个基于Burrows-Wheeler变换的无损压缩软件,它的压缩比率比gzip更高,不过相应的速度也会更慢一点。bzip2的用法和gzip基本相同,上面提到的参数基本都可以沿用(除了没有-r,没有-l,大写的-L表示License)。下面是bzip2多出的一些常用参数:
bzip2 -option filename
-k:保留原有文件
-s:使用较少的内存
bunzip2 -option filename
解压缩命令,相当于bzip2-d。
bzcat -filename
查看压缩文件的内容
bzip2 recover
从损坏的*.bzip2文件中恢复数据
3.tar
上面提到的命令都只能针对单个文件进行压缩。虽然可以加上-r参数来压缩目录,但只是对目录下的各个文件单独压缩,最终仍是目录。要想把一个文件夹压缩成一个压缩包。那么就要使用tar命令。tar的作用是将多个文件或目录进行打包。tar命令很多,下面是一些常用的。
tar -option filename
- c:创建新的打包文件
- d:将文件和tar包里的文件进行diff
- t:查看打包文件内含有哪些文件
- x:解打包或解压缩
- j:使用bzip2进行压缩/解压
- z:使用gzip进行压缩/解压
- r:将新的文件添加到tar包中去
- A:将已有的tar包添加到另一个tar包中去
- k:不覆盖系统上已有的文件
- v:显示正在处理的文件名
- p:保留文件原有的权限与属性
- f:接要被处理的文件名
-C:解压的时候指定目录
--exclude=filename:打包的时候不包含filename
通常的使用可以总结为以下几种模式:
查询: tar -j(z)tvf filname
压缩: tar -j(z)cvf 新建的文件名 要压缩的文件名
解压: tar -j(z)xvf 要解压的文件名 -C 解压的目录
ps:以上要注意tar不会自动生成文件的后缀名,所以新建的文件名需要自己加上后缀方便识别。还有
-f参数一定要放在最后和文件名相连,也可以单独独立出来防止出错。
版权声明:本文为博主原创文章,未经博主允许不得转载。