如何将一个大文件压缩为多个具有规定大小的较小 zip 文件?

如何将一个大文件压缩为多个具有规定大小的较小 zip 文件?

我有一个非常大的文件,例如 100GB,我想将其压缩为多个较小的 zip 文件,每个文件不能大于 1GB,最合适的命令是什么?

备注:我想优化创建的文件数量

更新:我希望每个文件都可以独立解压

答案1

只需创建一个大的 zip 文件,然后使用 linuxsplit命令将其分解成更小的部分。cat然后可以用来将它们重新组合成一个大文件。

如果你想将文件分成 1GB 的块,则 split 命令将如下所示:

$ split -b 1073741824 myfile.zip myfile-split-

重新组装:

$ cat myfile-split-* > myfile.zip

如果您实际上使用多个 zip 文件,则压缩率将急剧下降。

我强烈建议确保在拆分之前对文件进行 md5sum,然后确保重新组装后的 md5 匹配。

相关内容