Linux下的打包、压缩命令小结


Linux下的打包、压缩命令小结

Linux下的压缩文件种类不少,因此各种打包压缩的命令也是眼花缭乱。向来不喜欢硬记、所以便尝试总结一下:

Linux下的打包压缩文件基本可以是两种:

1)tar

2)其他windows系统中的如:zip、rar


一、那么我们就先熟悉tar

这几种当中tar的分量是最重的,扮演的角色也最多,因此也可以说熟悉了tar也基本就熟悉了Linux的打包和压缩;当然tar本质上就是一个Linux的命令,所以了解这个命令的参数含义就颇为重要:

tar的参数有很多,但是常用的就那么几个,以下是我们必要要了解的:

(一类参数“必选其一”)

-c:创建压缩文件

-x:解压

-t:查看内容

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

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

压缩或解压缩命令必须加上以上五种参数中的一个(且只能是一个,是必选的),下面的五个参数则是可选的,而且可以是多个一起选:

(二类参数“可选可不选可多选”)

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的(区别于第一个的小写)

-v:显示所有过程

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

最后的-参数是必选的。而且后面只能接文件名:

(三类参数“必选唯一”)

-f

这样我们就可以得到一些示例命令如下:(示例命令中通过修改第一个参数(c->x)就能更改是打包还是压缩了)

(不加二类参数的)

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包中所有文件,-x是解开的意思

(加上二类参数的)
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

通过是否添加第二类参数(当然是指特定的z、j、Z)我们能区分开来tar是否有调用其他如:gzip、bzip2、compress等的压缩函数(个人理解为是第三方拓展吧),添加了第二类参数就会生成.tar.gz、.tar.bz2、.tar.Z类似两个后缀的压缩文件了。

二、我们再来看看windows系统下的.zip和.rar压缩文件

以上是Linux中的tar命令,对于windows中的.zip和.rar文件,Linux也有相应的方法来打包和压缩。

1)、对于.zip文件

Linux有提供zip命令,参数较多、不详细讲说。

压缩:zip all.zip *.jpg

解压缩:unzip all.jpg

2)、对于.rar

在Linux下安装rar是需要安装RAR for Linux,需要在网上下载,而且貌似还是收费的。安装完之后有rar和unrar这两个程序:

压缩:rar a all *.jpg :这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。

解压缩:unrar e all.rar :这条命令是将all.rar中的所有文件解压出来

三、省时省力的示例命令

至此所有文件的压缩解压缩我们就说完了,最后直接看一下省时省力的示例吧:

以下示例均是解压的示例(示例命令中通过修改第一个参数(c->x)就能更改是打包还是压缩了):

.tar包:tar –xvf file.tar

.tar.gz包:tar -xzvffile.tar.gz

.tar.bz2包:tar -xjvffile.tar.bz2

.tar.Z:tar –xZvf file.tar.Z

.rar包:unrar efile.rar

.zip包:unzip file.zip

.gz包:gunzip all.gz

.tgz或.tar.gz包:tar -xzfall.tgz & tar -xzf all.tar.gz

.bz2包:bunzip2all.bz2

.Z包:uncompress all.Z

总结
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 解压

相关内容