![如何将一个大文件压缩为多个具有规定大小的较小 zip 文件?](https://linux22.com/image/1409426/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E4%B8%AA%E5%A4%A7%E6%96%87%E4%BB%B6%E5%8E%8B%E7%BC%A9%E4%B8%BA%E5%A4%9A%E4%B8%AA%E5%85%B7%E6%9C%89%E8%A7%84%E5%AE%9A%E5%A4%A7%E5%B0%8F%E7%9A%84%E8%BE%83%E5%B0%8F%20zip%20%E6%96%87%E4%BB%B6%EF%BC%9F.png)
我有一个非常大的文件,例如 100GB,我想将其压缩为多个较小的 zip 文件,每个文件不能大于 1GB,最合适的命令是什么?
备注:我想优化创建的文件数量
更新:我希望每个文件都可以独立解压
答案1
只需创建一个大的 zip 文件,然后使用 linuxsplit
命令将其分解成更小的部分。cat
然后可以用来将它们重新组合成一个大文件。
如果你想将文件分成 1GB 的块,则 split 命令将如下所示:
$ split -b 1073741824 myfile.zip myfile-split-
重新组装:
$ cat myfile-split-* > myfile.zip
如果您实际上使用多个 zip 文件,则压缩率将急剧下降。
我强烈建议确保在拆分之前对文件进行 md5sum,然后确保重新组装后的 md5 匹配。