有类似split的命令吗_5分钟学linux命令之split

9156c8637267b45e91e1c0aa7ee1417e.png

情景介绍

平时工作中,我习惯使用rz从本地上传文件到服务器,sz从服务器下载文件到本地,但对传输文件大小有限制,例如排查线上jvm的问题,需要生成了dump文件,可能有10G大,超过了限制,怎么下载呢?

拆分文件命令之split

语法

split [-<行数>][-l<行数>][-b<字节>][-C<字节>][要切割的文件][输出文件名的前缀][-a<后缀长度>]
-<行数>或-l<行数>:指定每多少行切成一个小文件
-b<字节>:指定每多少字节切成一个小文件,这里也可以指定K、M、G等单位
-C<字节>:与-b<字节>类似,但在切割时会尽量维持每行的完整性
输出文件名的前缀:设置拆分后文件的名称前缀,split会自动在前缀后面加上编号,默认从aa开始
-a<后缀长度>:默认后缀长度是2,即按 aa,ab,ac的顺序排序

split命令和cat命令可以完成上面的难题,排查线上问题的现场已经没有了,所以为了演示,用dd命令(对dd命令不了解的也可以学下,因为这次重点介绍split,所以dd暂且不介绍)创建一个400MB的文件,文件名是adsearch.hprof,这里假设400MB的大小就超过了服务器的下载限制

dd if=/dev/zero bs=1024 count=409600 of=adsearch.hprof

831ecef4f3830f4ee4eb9ac2c6b0c873.png

如图所示,创建了一个400MB的文件

那我把adsearch.hprof文件按100MB大小拆分,可以拆分成4个文件

split -b 100M adsearch.hprof

c46355d07e6849e30b586c204ea27e88.png

可以看到在执行完split命令后,目录下生成了四个相同大小 xaa、xab、xac、xad四个100MB的小文件。因为我们没有指定前缀,就采用了默认的前缀x,后面跟着aa、ab、ac、ad。我们也可以指定前缀,比如我把刚刚生成的四个小文件删掉,用下面的命令重新切分下

split -b 100M adsearch.hprof adsearch-

7fc03d64bad24c718eef1406dd7aa74a.png

合并文件之cat

把大文件切分后,我们就可以把小文件下载到本地,然后把他们再拼接起来

// 用通配符的形式,要保证该目录下没有其他以adsearch-a为前缀的文件
cat adsearch-a* > adsearch.hprof
// 或者指定文件进行拼接
cat adsearch-aa adsearch-ab adsearch-ac adsearch-ad > adsearch.hprof

c70ddf308f3262c9eb4bf8d65194c240.png

备注

上面的操作我是在win本上的gitbash操作的,有cat命令

那如果没有安装gitbash只有cmd呢?

可以使用copy /b 命令来拼接,其中 /b 代表指定以二进制格式进行复制

copy /b adsearch-aa + adsearch-ab + adsearch-ac + adsearch-ad adsearch.hprof

校验

经过拆分-合并后,两个文件一样吗?这是我们主要关心的问题,我们对文件做一个md5,看结果是否相等,就可以判断文件是否一样了

原始文件的md5

1354f21a701b1728112bffa252b6c230.png

合并后文件的md5(gitbash)

02bff8eaa0951175c8a8b6e0437867d4.png

合并后文件的md5(cmd)

bea2f9b76769a811f1bd691359876aed.png

经过对前后文件的md5值比价,结果一致,说明我们的操作没有问题

小结

当我们下载或上传相对较大的文件时,可以使用split把大文件拆分成小文件,然后用cat命令把这些小文件重新拼接成大文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乐观锁的颗粒度_MySql数据库锁机制详解

概述数据库锁定机制简单的来说&#xff0c;就是数据库为了保证数据的一致性与完整性&#xff0c;而使各种共享资源在被并发访问时变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁机制&#xff0c;所以MySQL也不能例外。MySQL数据库根据锁锁定数据的颗粒度可…

云溪怎么导入dxf_dwg怎么转换成dxf文件?超详细图文教程分享

在CAD相关的工作中,我们经常遇到这种问题&#xff0c;需要把DWG格式的CAD图纸转换成DXF格式。那么&#xff0c;我们应该怎么做呢&#xff1f;接下来为你介绍这一个方法&#xff0c;非常方便快速哦。准备电脑风云CAD转换器具体步骤&#xff1a;在桌面上新建文件夹&#xff0c;将…

特斯拉是l3还是l2_比特斯拉还“高一级”,长安的“L3级自动驾驶”到底什么来头?...

3月5日&#xff0c;长安发布了旗下全新轿跑SUV——UNI-T&#xff0c;新车一经亮相&#xff0c;便凭借极具科幻的造型&#xff0c;以及越级的动力性能吸粉无数。而在大家意犹未尽之时&#xff0c;长安又在3月10日&#xff0c;通过UNI-T发布了“L3级自动驾驶”量产体验&#xff0…

mysql5.7.17配置_mysql-5.7.17-winx64的安装配置

第一步&#xff1a;下载mysql-5.7.17-winx64解压版本&#xff1a;http://dev.mysql.com/downloads/mysql/第二步&#xff1a;解压到安装目录&#xff0c;如&#xff1a;C:\myprogram\mysql-5.7.17-winx64第三步&#xff1a;设置环境变量操作如下&#xff1a;1)右键单击我的电脑…

openstack实例控制台显示响应时间过长_监控OpenStack的技巧

如果你以前曾在云平台上工作过&#xff0c;你一定熟悉这些系统的分布式和解耦性质。解耦的分布式系统依赖于微服务来执行特定的任务&#xff0c;每个微服务都会暴露自己的REST(表示状态转移)API。这些微服务通常以诸如RabbitMQ或QPID等消息中间件的形式通过轻量级消息层相互通信…

java8 创建list方式_Java 8 创建 Stream 的 10 种方式,我保证你受益无穷!

今天来分享下在 Java 8 中创建 Stream 的 10 种方式,我就整理了 10 种,其实还有更多,仅供大家参考学习下。 1、Stream.of 可变参数 Stream<String> stream1 = Stream.of("A", "B", "C"); System.out.println("stream1:" + st…

js map满足条件跳出循环_js.es5 map循环一大坑:循环遍历竟然出现逗号!

一、mapmap大法好作为当今程序界最好用的循环方法之一map, 在我的项目里基本替代了for循环map循环常用的一些方法/********* ES6 **********///一行代码可以省略returnarray.map( item > console.log(item))>array.map( item > {return console.log(item)})//多行代码…

micropython按键控制流水灯_【micro:bit Micropython】The LED Display(1)控制像素点

使用DFrobot研发的micropython编程软件uPyCraft&#xff0c;下载固件(Firmware)和下载程序都非常方便。可以在DFrobot论坛中进行下载。uPyCraft软件运行界面官网中的micro:bit Micropython API介绍得非常详细&#xff0c;为开发人员提供了详细的文字说明和参照。micro:bit Micr…

python中exp_python中的exp是什么

Python exp() 函数描述exp() 函数返回 x 的指数&#xff0c;。语法import mathmath.exp(x)注意&#xff1a;exp() 是不能直接访问的&#xff0c;需导入 math 模块&#xff0c;通过静态对象调用该方法。参数x -- 数值表达式。返回值返回 x 的指数&#xff0c;。实例# -*- coding…

python干货_python 基础干货 02

list 与 tuplelist 类似 数组tuple 跟 list 一样, 只是一旦定义, 里边的内容不可以改变.这样, 上边的内容就不可以改变了."可变的" tuple, 不是说 tuple 是不可以改变的么?想内存dict 与 setdict 是 python内置字典, 其他语言中称为 map, 使用键-值(key-value)存储&…

mysql安装目录问题_Windows下MySQL的安装目录问题

今天发现一个MySQL的问题&#xff0c;当把MySQL的文件目录安放在t字母打头的目录下时&#xff0c;比如d:/test目录&#xff0c;mysql服务就起不来了&#xff0c;报告找不到文件:D:/test/mysql>bin/mysqld-nt.exe --console090811 10:09:55 [ERROR] Cant find messagefile D:…

大学考试分数越高学分越多吗_大学的绩点和学分有什么用?影响学生毕业吗

原标题&#xff1a;大学的绩点和学分有什么用&#xff1f;影响学生毕业吗网友一&#xff1a;读大学也要关心成绩&#xff0c;绩点和学分是两个重要指标&#xff0c;到底是什么&#xff0c;怎么计算&#xff1f;有什么用处&#xff1f;为什么很重要&#xff1f;面试官最看重哪些…

pandas输出到excel_python读写excel等数据文件方法汇总

python处理数据文件第一步是要读取数据&#xff0c;文件类型主要包括文本文件&#xff08;csv、txt等&#xff09;、excel文件、数据库文件、api等。下面整理下python有哪些方式可以读取数据文件。1. python内置方法&#xff08;read、readline、readlines&#xff09;read()&a…

dijkstra算法_Python实现图的经典DFS、BFS、Dijkstra、Floyd、Prim、Kruskal算法

讲在前面的话&#xff0c;图的算法太多&#xff0c;理论知识肯定一篇文章讲不完&#xff0c;关于理论知识大家可以参考教材Sedgewick的《算法》或reference的链接,本文主要还是想在一篇文章中记录六种算法的Python代码。同样想吐槽一下&#xff0c;虽然网上博客很多&#xff0c…

深度学习试题_高中生物:今年高考试题3点显著变化及5个备考建议!不看准吃亏...

新课标下的新高考即将开启&#xff0c;最后一届旧高考模式在不同寻常的2020年七月份已圆满结束。今年全国Ⅰ卷理综生物试题有几个明显变化。1.内容、范围不变&#xff0c;考查理解能力和实践能力加强作为过渡期的高考&#xff0c;全国高考Ⅰ卷理综生物试题题型结构保持不变&…

电脑工具栏怎么调整到下面_雷电模拟器4.0怎么玩召唤与合成 一键下载轻松游玩 - 工具软件...

召唤与合成是一款既不是卡牌&#xff0c;也不是消除&#xff0c;也不算策略的高烧脑解谜手游&#xff0c;很多玩家想要利用雷电模拟器来在电脑上运行手游&#xff0c;却不知道怎么操作&#xff0c;下面就来教教大家如何在雷电模拟器上玩召唤与合成。1、首先要下载游戏&#xff…

ESP8266网络相框采用TFT_eSPI库TJpg_Decoder库mixly库UDP库实现图片传送

用ESP8266和TFT_ESPI模块来显示图片数据。具体来说&#xff0c;我们将使用ILI9431显示器作为显示设备&#xff0c;并通过UDP协议将图片数据从发送端传输到ESP8266。最后&#xff0c;我们将解析这些数据并在TFT屏幕上显示出来。在这个过程中&#xff0c;我们将面临一些编程挑战&…

c++ vector 一部分_为什么现在的手机都采用Type-C接口?它到底好在哪里?看完你就明白了...

不知道你们有没有发现&#xff0c;现如今的安卓手机几乎都使用Type-C接口。前两年还只是大部分手机采用的Micro USB接口&#xff0c;只有很小一部分使用的是Type-C接口。那到底是什么原因导致它&#xff0c;能在那么快的速度几乎在业内通用呢&#xff1f;一、使用方便&#xff…

java listen_Java进阶-IO基础

计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能&#xff0c;以便让未处理的数据流入程序&#xff0c;让已处理的数据流出。与其他语言相比&#xff0c;Java的IO功能显得复杂。在其他语言中&#xff0c;许多IO功能(比如读取文件)&#xff0c;是被封装…

gorm preload 搜索_文件太多忘记了文件放在什么地方?那你可以试试这款文件搜索工具...

忘记了文件放在什么地方&#xff1f;文件太多不能一下子找到&#xff1f;那么你也许可以试试这款软件——ProFind for mac版&#xff0c;这是一款适用于macOS系统的文件搜索工具&#xff0c;它具有强大的功能和出色的性能&#xff0c;可为macOS提供高级文件搜索&#xff0c;并支…