如何在 Linux 上解压多部分(跨区)ZIP?

如何在 Linux 上解压多部分(跨区)ZIP?

我需要将 400mb 的文件上传到我的网络服务器,但上传限制为 200mb。我的主人建议我使用跨区存档,但我从未在 Linux 上这样做过。

我在自己的文件夹中创建了一个测试,将 PDF 压缩为test.zip.001.002.003。我该如何解压它?我需要先加入他们吗?

请注意,我会像使用 ZIP 格式一样快乐地使用 7z。如果这对结果有任何影响。

答案1

您需要先加入他们。您可以使用常见的linux应用程序,cat如下例所示:

cat test.zip* > ~/test.zip

这会将您的所有 、 等文件连接test.zip.001test.zip.002一个更大的 test.zip 文件中。一旦你有了这个文件,你就可以运行unzip test.zip

“如何在 Linux 中创建、分割、合并和提取 zip 档案”可能有帮助。

答案2

Linuxunzip实用程序并不真正支持多部分 zip。来自手动的:

尚不支持多部分存档,除非与 zip 结合使用。 (所有部分必须按顺序连接在一起,然后必须对连接的存档执行zip -F (对于 zip 2.x)或zip -FF(对于 zip 3.x)才能“修复”它。此外,zip 3.0 及更高版本可以组合使用 . 将多部分(分割)存档合并为单个文件存档zip -s- inarchive -O outarchivezip 3 手册页了解更多信息。)

因此,您需要首先连接各个部分,然后修复结果。cat test.zip.*连接所有被调用的文件,test.zip.*其中通配符*代表任意字符序列;文件按字典顺序枚举,由于前导零,这与数字顺序相同。>test.zip将输出定向到文件中test.zip

cat test.zip.* >test.zip
zip -FF test.zip --out test-full.zip
unzip test-full.zip

如果您通过直接拆分 zip 文件来创建片段,而不是使用官方 Pkzip 实用程序创建多部分 zip,则您所需要做的就是连接各个部分。

cat test.zip.* >test.zip
unzip test.zip

答案3

7z x archive.zip.001

它会自动找到剩下的

答案4

我认为值得一提的是,unar 命令行工具能够解压缩、unRar、un7zip、unTar 等,包括分割文件,只需:

unar first_file

https://directory.fsf.org/wiki/Unar#Details

相关内容