Linux用7zip解压缩分卷文件

时间:2023-03-09 16:51:45
Linux用7zip解压缩分卷文件

背景:在服务器迁移过程中,有大量非结构化文件(主要是office文档和图片),目录结构太大,高达80-100G,传输耗时且容易受网络

等其他原因意外中断,以致于传输失败,于是采用分卷压缩,即使传输失败也不会导致全部进度失败,逐个文件回传,再逐个上传到服务器。

环境:ubuntu 16.04.3 x64

预安装

apt install p7zip-full

7zip压缩:将data.txt压缩成data.7z

7z a data.7z data.txt\

7zip解压缩:解压data.7z

7z e data.7z   不保持目录结构
7z x data2.7z 保持目录结构

7zip查看压缩文档内容清单:

7z l xxbs.zip.
........
-- :: ....A xxbs/20181109124407_983.jpeg
-- :: ....A xxbs/20181109124408_86.jpeg
-- :: ....A xxbs/20181109124808_579.jpeg
-- :: ....A xxbs/20181109124811_94.jpeg
-- :: ....A xxbs/20181109124812_599.jpeg
-- :: ....A xxbs/20181109124812_910.jpeg
-- :: ....A xxbs/20181109124813_115.jpeg
-- :: ....A xxbs/20181109124813_19.jpeg
-- :: ....A xxbs/20181109124814_376.jpeg
------------------- ----- ------------ ------------ ------------------------
files, folders

场景1:解压缩由Winrar压缩的zip分卷

tomcat@tomcat:~/WebContent/pic$ ls -rtl xxbs.zip*
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.zip.

解压方法:

7z e xxbs.zip.

场景2:解压由7zip生成的分卷

tomcat@tomcat:~/WebContent/pic/7zip$ ls -rtl
总用量
-rw-rw-r-- tomcat tomcat 11月 : xxbs.7z.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.7z.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.7z.
.....
-rw-rw-r-- tomcat tomcat 11月 : xxbs.7z.
-rw-rw-r-- tomcat tomcat 11月 : xxbs.7z.

解压方法

7z e xxbs.7z.

场景3:保持子目录下同名文件名覆盖

比如WebContent目录下有xxx,yyy,zzz文件夹,xxx下面又有aaa,bbb,ccc文件夹,我们把增量更新的资源拷贝过来,然后同名文件夹覆盖

tomcat@tomcat:/var/data# ls -rtl
总用量
-rw-rw-r-- tomcat tomcat 11月 : abc.tar.gz
drwx------ tomcat tomcat 11月 : lost+found
-rw-r--r-- tomcat tomcat 11月 : data.tar.gz
drwxr-xr-x tomcat tomcat 11月 : logs
drwxrwxr-x tomcat tomcat 11月 : el
drwxrwxrwx tomcat tomcat 11月 : tomcat
drwxr-xr-x tomcat tomcat 11月 : WebContent
-rw-r--r-- tomcat tomcat 11月 : WebContent.7z

解压方法:

7z x WebContent.7z 

参考:

How to extract and join files xxx.zip, xxx.z01 and xxx.z02

Install 7Zip Compression Tool on Ubuntu

Can I uncompress a zip file containing a disk image and then save that to an SD card all in one step?