我收到了几个档案,它们的扩展名都是 .z01、.z02、.z03 等。
没有.zip 文件,也没有.z00 文件。
如果我将这些文件传输到我的 Mac 并通过 un-stuffit 运行它们,它可以很好地解压。
但我不知道谁应该通过终端窗口在我的 NAS(Linux)上执行此操作(我实际上想自动执行该过程,因此它需要在 Linux 机器上进行)
我尝试过 zip -FF file.z01 --out newfile.zip 然后解压 newel.zip 但失败了。
我尝试过 7z,所有其他建议的选项(与 .zip 文件相关)都失败了。
有人能给我指明正确的方向吗?我需要特定版本的 zip 或 7z 吗?
答案1
您确定这些都是存档文件吗?也许您在某处缺少了某个.zip
或.z00
某个文件。或者尝试运行file
这些文件(file *
在其目录中使用),它们可能根本不是 zip 文件。
还可以尝试使用cat
以正确的顺序将所有文件“粘贴”在一起,然后写入文件(如果它们很小)或将其直接放入zip
/ unzip
:
cat .z01 .z02 .z03 ... | unzip
也应该能够对文件名使用通配符,例如cat name.z*
,并且测试列表/顺序echo name.z*
也可以/首先有帮助。
但man unzip
据说它本身应该能够处理通配符,所以这也可能有效:
unzip name.z*
可能需要转义 ( name.z\*
) 或引用星号,unzip "name.z*"
请参阅man unzip
。
如果上述方法不起作用,那么从man unzip
错误(如下所列)来看,您可能必须将cat
所有文件合并到一个文件中,然后运行zip -F
或zip -FF
,如下所示:
zip -F foo --out foofix
或者zip -FF foo --out foofixfix
然后解压foofix
或foofixfix
信息来自man unzip
:
BUGS
目前尚不支持多部分存档,除非与 zip 结合使用。(必须按顺序将所有部分连接在一起,然后对连接的存档执行“zip -F”(对于 zip 2.x)或“zip -FF”(对于 zip 3.x)以“修复”它。此外,zip 3.0 及更高版本可以使用“zip -s- inarchive -O outarchive”将多部分(拆分)存档合并为一个组合的单文件存档。有关更多信息,请参阅 zip 3 手册页。)这个问题肯定会在下一个主要版本中得到纠正。
以下信息man zip
可能有用:
分割档案.zip 3.0 版及更高版本可以创建拆分档案。拆分档案是拆分为多个文件的标准 zip 档案。(请注意,拆分档案不仅仅是拆分成多个部分的档案,因为条目的偏移量现在基于每个拆分的开始。将各个部分连接在一起将使这些偏移量无效,但 unzip 通常可以处理它。zip 通常会拒绝处理这种拼接档案,除非使用 -FF fix 选项来修复偏移量。)
...
此外,流式档案、使用标准加密加密的条目或使用暂停选项创建的拆分档案可能与 PKZIP 不兼容,因为使用了数据描述符,并且撰写本文时 PKZIP 不支持数据描述符(但 PKWare 发布的 zip 标准中的最新更改现在包括对 zip 使用的数据描述符格式的一些支持)。
答案2
解决了。愚蠢的文件是一个 RAR 存档。unrar e filename.z01
效果很好。问题解决了