在 linux 下,有时会遇到需要上传 / 下载大文件的情况。如果将文件直接上传,很容易由于网络原因导致传输失败。可以将文件先进行切分,传输后再使用命令拼起来。
一开始想到的是使用 sudo zip -r -s 1m output.parts.zip file 进行分包压缩,然后 sudo zip -s 0 output.parts.zip --out output.zip 进行合并。但是到合并之后发现无法用 unzip 命令解压,因为超出2G大小了。
也试了网上说的很多种方案,比如 zip -F 修复再解压,cat xxx.z* 将文件合并后再修复解压,使用p7zip、p7zip-full解压。最终都没有解决问题。
既然分包压缩不能解决,那就直接将压缩文件切分,传输完之后再拼起来不就行了。
切分文件(按照 1MB 大小进行切分,输出文件类似 part_ab)
split -b 1m wwwroot.tar.gz part_
合并文件
cat part_* > wwwroot.tar.gz
本文参考了这篇文章:
sudo zip -s 0 wwwroot.parts.zip --out sudo zip -s 0 wwwroot.parts.zip --out
本站文章除注明转载/出处外,均为原创,若要转载请务必注明出处。转载后请将转载链接通过邮件告知我站,谢谢合作。本站邮箱:admin@only4.work
尊重他人劳动成果,共创和谐网络环境。点击版权声明查看本站相关条款。