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 解压命令解压即可。


原文地址:https://www.cnblogs.com/chorm590/p/11613192.html