Linux下的压缩和解压缩工具比较多,有时常常记不住,这里给你们汇总一下,方便你们查阅。linux
tar工具
-c: 创建压缩档案
-x:解压
-t:查看内容
-r:向压缩归档文件末尾追加文件
-u:更新原压缩包中的文件blog
这五个是独立的命令,压缩解压都要用到其中一个,能够和别的命令连用但只能用其中一个。下面的参数是根据须要在压缩或解压档案时可选的。递归
-z:有gzip属性的
-j:有bz2属性的
-Z:有compress属性的
-v:显示全部过程
-O:将文件解开到标准输出ip
下面的参数-f是必须的文档
-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。class
# tar -cf all.tar *.jpg
这条命令是将全部.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。test
# tar -rf all.tar *.gif
这条命令是将全部.gif的文件增长到all.tar的包里面去。-r是表示增长文件的意思。基础
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。扩展
# tar -tf all.tar
这条命令是列出all.tar包中全部文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中全部文件,-t是解开的意思
压缩
tar -cvf jpg.tar *.jpg //将目录里全部jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg //将目录里全部jpg文件打包成jpg.tar后,而且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg //rar格式的压缩,须要先下载rar for linux
zip jpg.zip *.jpg //zip格式的压缩,须要先下载zip for linux
解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2 //解压 tar.bz2
tar -xZvf file.tar.Z //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
总结
一、*.tar 用 tar -xvf 解压
二、*.gz 用 gzip -d或者gunzip 解压
三、*.tar.gz和*.tgz 用 tar -xzf 解压
四、*.bz2 用 bzip2 -d或者用bunzip2 解压
五、*.tar.bz2用tar -xjf 解压
六、*.Z 用 uncompress 解压
七、*.tar.Z 用tar -xZf 解压
八、*.rar 用 unrar e解压
九、*.zip 用 unzip 解压
Linux下常见的几个压缩文件扩展名为:
*.zip zip程序压缩的文件
*.gz gzip程序压缩的文件
*.bz2 bzip2程序压缩的文件
*.xz xz程序压缩的文件
*.tar tar打包,未压缩
*.tar.gz tar打包,gzip压缩
*.tar.bz2 tar打包,bzip2压缩
*.tar.xz tar打包,xz压缩
如下举例说明各种型的文件的压缩、打包和解压的命令。本文只介绍最简单的命令,有这些基本足够平常使用,若有特殊要求,能够查看相应命令的说明文档。
1.zip
#将目录下的test1.txt和test2打包为test.zip包:
zip -r -o test.zip test1.txt test2
-r表示递归,目录里的全部文件和文件夹都打包;-o指定输出包的名字;最后是须要打包的文件列表,也能够用通配符。
#将test.zip解压:
unzip test.zip
#将test.zip解压,并放到new目录中:
unzip test.zip -d new
2.gz
#将test1.txt压缩:
gzip test1.txt
此时会生成test1.txt.gz文件,而源文件会消失。
#将test1.txt.gz解压:
gzip -d test1.txt.gz
3.bz2
bz2的用法与gzip几乎相同,可是压缩比更高。
#将test1.txt压缩:
bzip2 test1.txt
此时会生成test1.txt.bz2文件,而源文件会消失。
#将test1.txt.gz解压:
bzip2 -d test1.txt.bz2
4.xz
xz的用法与bz2和gzip几乎相同,可是压缩比更高。
#将test1.txt压缩:
xz test1.txt
此时会生成test1.txt.xz文件,而源文件会消失。
#将test1.txt.gz解压:
xz -d test1.txt.xz
5.tar
tar其实是一个打包和解包的工具,其用法为:
打包:tar -cvf 待创建的新文件名 被打包文件列表
解包:tar -xvf 已有的tar文件 [-C 目标目录]
选项含义:
-c 创建打包文件
-x 解包
-v 打包或解包过程当中正在处理的文件名显示出来
-f 后跟.tar文件
6.tar.gz、tar.bz二、tar.xz
这三种文件其实是打包与压缩的组合,所以,能够看做是在.tar文件的基础上用上文提到的三种压缩工具压缩后生成的。一样,解压并解包也可分两步进行,先解压后解包。而实际操做中可一步实现压缩或解压:
打包:tar [-z|-j|-J] -cvf 待创建的新文件名 被打包文件列表
解包:tar [-z|-j|-J] -xvf 已有的tar文件 [-C 目标目录]
是在打包的基础上加上了-z、-j或-J选项,其中:
-z 经过gzip压缩或解压,文件名常为xxx.tar.gz
-j 经过bzip2压缩或解压,文件名常为xxx.tar.bz2
-J 经过xz压缩或解压,文件名常为xxx.tar.xz
具体说来:
压缩打包:
tar -zcvf xxx.tar.gz 被打包文件列表
tar -jcvf xxx.tar.bz2 被打包文件列表
tar -Jcvf xxx.tar.xz 被打包文件列表
解压:
tar -zxvf xxx.tar.gz
tar -jxvf xxx.tar.bz2
tar -Jxvf xxx.tar.xz
此外常常还会碰到tgz、tbz等格式的文件,实际上是tar.gz和tar.bz2的缩写,操做方法相同。
7.rar
最后提一下rar文件。在Linux下rar并不常见,但有时也会碰到。Linux自己是不支持rar文件的,所以须要额外安装rar的压缩和解压工具。网址为:
www.rarlab.com
从Download列表中下载RAR 5.71 for Linux x64,获得一个tar.gz的压缩包,解压后获得rar目录,进入目录直接make便可。
压缩:rar a xxx.rar 被打包文件列表
解压:unrar e xxx.rar