南京做网站设计,网站开发可行性分析报告范文,虾皮跨境电商平台,东莞优化seo网站关键词优化情景介绍平时工作中#xff0c;我习惯使用rz从本地上传文件到服务器#xff0c;sz从服务器下载文件到本地#xff0c;但对传输文件大小有限制#xff0c;例如排查线上jvm的问题#xff0c;需要生成了dump文件#xff0c;可能有10G大#xff0c;超过了限制#xff0c;怎…情景介绍平时工作中我习惯使用rz从本地上传文件到服务器sz从服务器下载文件到本地但对传输文件大小有限制例如排查线上jvm的问题需要生成了dump文件可能有10G大超过了限制怎么下载呢拆分文件命令之split语法split [-行数][-l行数][-b字节][-C字节][要切割的文件][输出文件名的前缀][-a后缀长度]-行数或-l行数指定每多少行切成一个小文件-b字节指定每多少字节切成一个小文件这里也可以指定K、M、G等单位-C字节与-b字节类似但在切割时会尽量维持每行的完整性输出文件名的前缀设置拆分后文件的名称前缀split会自动在前缀后面加上编号默认从aa开始-a后缀长度默认后缀长度是2即按 aaabac的顺序排序split命令和cat命令可以完成上面的难题排查线上问题的现场已经没有了所以为了演示用dd命令对dd命令不了解的也可以学下因为这次重点介绍split所以dd暂且不介绍创建一个400MB的文件文件名是adsearch.hprof这里假设400MB的大小就超过了服务器的下载限制dd if/dev/zero bs1024 count409600 ofadsearch.hprof如图所示创建了一个400MB的文件那我把adsearch.hprof文件按100MB大小拆分可以拆分成4个文件split -b 100M adsearch.hprof可以看到在执行完split命令后目录下生成了四个相同大小 xaa、xab、xac、xad四个100MB的小文件。因为我们没有指定前缀就采用了默认的前缀x后面跟着aa、ab、ac、ad。我们也可以指定前缀比如我把刚刚生成的四个小文件删掉用下面的命令重新切分下split -b 100M adsearch.hprof adsearch-合并文件之cat把大文件切分后我们就可以把小文件下载到本地然后把他们再拼接起来// 用通配符的形式要保证该目录下没有其他以adsearch-a为前缀的文件
cat adsearch-a* adsearch.hprof
// 或者指定文件进行拼接
cat adsearch-aa adsearch-ab adsearch-ac adsearch-ad adsearch.hprof备注上面的操作我是在win本上的gitbash操作的有cat命令那如果没有安装gitbash只有cmd呢可以使用copy /b 命令来拼接其中 /b 代表指定以二进制格式进行复制copy /b adsearch-aa adsearch-ab adsearch-ac adsearch-ad adsearch.hprof校验经过拆分-合并后两个文件一样吗这是我们主要关心的问题我们对文件做一个md5看结果是否相等就可以判断文件是否一样了原始文件的md5合并后文件的md5gitbash合并后文件的md5cmd经过对前后文件的md5值比价结果一致说明我们的操作没有问题小结当我们下载或上传相对较大的文件时可以使用split把大文件拆分成小文件然后用cat命令把这些小文件重新拼接成大文件