Linux 下的解压缩命令

2019-09-30

关键字:压缩、解压缩、分卷压缩、tar


 

1、几种常用的压缩格式

 

tar

解包: tar xvf filename.tar

打包: tar cvf filename.tar dirname/

 

 

.tar.gz

解压:tar -zxvf filename.tar.gz

压缩:tar -zcvf filename.tar.gz dirnema1/ dirname2/

 

 

.bz2

解压:bzip2 -d filename.bz2

压缩:bzip2 -z filename

 

 

.tar.bz2

解压:tar jxvf filename.tar.bz2

压缩:tar jcvf filename.tar.bz2 dirname/

 

 

.z

解压:uncompress filename.z

压缩:compress filename

 

 

.tar.z

解压:tar Zxvf filename.tar.Z

压缩:tar Zcvf filename.tar.z dirname/

 

 

.tar.xz

解压:tar xvJf filename.tar.xz

压缩:tar xcJf filename.tar.xz dirname/

 

 

.zip

解压:unzip filename.zip

压缩:zip -r filename.zip dirname/ 

 

 

2、分卷压缩

 

tar zcvf - filedir | split -d -b 100m - filename

这行命令的意思是将 filedir 目录以 .tar.gz 的格式进行压缩,但是不直接生成 .tar.gz 文件,而是将压缩后的流以管线 | 的形式传给 split 处理。

split 对流的处理方式就是将流分成若干个 100mb 的块,再以 filename 为名称前缀以数字序号作为后缀生成文件。split 的参数 -d 就表示以递增的数字序号作为后缀,若不加 -d 参数,则表示以递增的字母序列作为后缀,如 aa, ab, ac...

以下是一个实例:

 

假设现有一个目录有以下几个文件:

 

将这些文件以每 5kb 一个文件的形式分卷压缩成 .tar.gz 格式。

 

可以使用如下命令:

tar zcvf - Android.mk .gitignore GPIOAPI/ qtouchstarter/ | split -d -b 5k - myfile.tar.gz

 

执行完毕后可以看到当前目录下的文件结构如下图所示:

 

这就是分卷压缩了。

 

 

而分卷压缩文件的解压则如下所示:

cat myfile.tar.gz* > myfile.tar.gz

tar zxvf myfile.tar.gz

首先要将这些分卷压缩文件组合成一个完整的压缩文件,再使用普通的 tar 解压命令解压即可。

 


 

posted @ 2019-09-30 16:14  大窟窿  阅读(476)  评论(0编辑  收藏  举报