作者:Carrie
出处:https://home.cnblogs.com/u/hanjiali
版权:本文版权归作者和博客园共有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

Linux下的压缩和解压缩工具比较多,有时经常记不住,这里给大家汇总一下,方便大家查阅。

 

tar

-c: 建立压缩档案

-x:解压

-t:查看内容

-r:向压缩归档文件末尾追加文件

-u:更新原压缩包中的文件

这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出

下面的参数-f是必须的

-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。

# tar -cf all.tar *.jpg


这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。

# 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

总结

1、*.tar 用 tar -xvf 解压

2、*.gz 用 gzip -d或者gunzip 解压

3、*.tar.gz和*.tgz 用 tar -xzf 解压

4、*.bz2 用 bzip2 -d或者用bunzip2 解压

5、*.tar.bz2用tar -xjf 解压

6、*.Z 用 uncompress 解压

7、*.tar.Z 用tar -xZf 解压

8、*.rar 用 unrar e解压

9、*.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.bz2、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

 

此外经常还会碰到tgztbz等格式的文件,其实是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

posted on 2019-10-22 17:28  不吃葡萄楞吐皮  阅读(1173)  评论(0编辑  收藏  举报