ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Linux 之大文件拆分、合并与校验

Linux 之大文件拆分、合并与校验 有时候进行程序开发的时候某些公司会限定 git 单个提交的文件大小如果我要提交的某个 xxx.jar 太大导致超过限制的话可能就没办法将 xxx.jar 文件作为一个整体提交上去。不过我么可以曲线救国绕过这种限制使用 split 命令方法将这类大文件拆分成多个然后分多次提交到仓库然后在其他地方拉取仓库最后将拆分的文件再使用 cat 再合并起来即可。文件拆分split -b 10m -d -a 2 xxx.jar xxx.jar.part-b 10m按大小拆分每块10MB注意Linux 下小写m代表 1048576 字节即 MiB若想严格按 1000*1000 字节可用40M。-d使用数字后缀而非默认字母即从00开始。-a 2后缀长度为2 位生成00~99最多支持 100 个分片。xxx.jar源文件。xxx.jar.part输出文件前缀。文件合并cat xxx.jar.part* xxx.jar文件校验这种拆分再合并的文件和原先的文件真的是一样的吗我们可能不禁会疑问当然有这种担忧完全是可以理解的毕竟最后的文件是拆分后的文件碎片再组合起来的新文件而且经过了各种传输如果合并后的文件不能和原文件保持一致的话那这么做就完全没有意义了。不过我们可以在文件拆分前生成一下文件的 md5 值。文件合并以后再生成一下合并文件的 md5 值。如果前后的 md5 值没有发生变化。那说明文件在拆分合并过程中是没有损坏文件的完整性得到了校验。md5sum xxx.jar 5eb63bbbe01eeed093cb22bb8f5acdc3 xxx.jar如果文件前后的 md5 值不一致则说明传输或者其他地方出错了需要排查原因后重试。
返回列表