我可以在远程机器上解压,但不能在我的电脑上解压

I can unzip on a remote machine but not on my computer

在集群上,我压缩了一个大目录(61GB,压缩后为 9.2GB)。

zip -r zzDirectory Directory

然后我在个人电脑上 scp zzDirectory

scp -r name@host.com:/path/to/zzDirectory.zip path/in/my/computer/zzDirectory.zip

最后我解压了它。我试图从 bash 解压,但失败了

warning [zzDirectory.zip]:  5544449626 extra bytes at beginning or within zipfile
  (attempting to process anyway)
error [zzDirectory.zip]:  start of central directory not found;
  zipfile corrupt.
  (please check that you have transferred or created the zipfile in the
  appropriate BINARY mode and that you have compiled UnZip properly)

所以我双击了取景器中的图标,系统开始解压zzDirectory.zip。但是,有些文件丢失了,而且看起来(我还不是 100% 确定)一些换行符 (\n) 也丢失了。 unzip 以前在我的电脑上工作正常。

为了调查问题出在哪里,我在集群上解压缩 zzDirectory.zip,一切似乎都正常(没有丢失文件)。

我重复传输并再次解压缩,但问题仍然存在。请注意,转账是通过互联网进行的。我的 OS 是 Mac OSX Yosemite 10.10.2.

我该如何解决这个问题?由于带宽问题,我不想传输未压缩的数据。您认为我应该尝试 tar 还是应该使用 unzip 命令行附带的特定选项?

OS X 你可以试试:

ditto -x -k the_over4gb.zip /path/to/dir/where/want/unzip

例如:

ditto -x -k zzDirectory.zip .