Linux文件的切割与合并
需求:
我们传输一个大文件时,有时网络比较慢,需要花费很长时间才能传输完成,或者传输的过程中,网络不稳定,有可能导致此次传输失败,针对这种情况,我们可以把大文件切分成小文件,再逐个的传输到目的地,最后再把它们合并成一个文件
小文件传输有什么优点呢?当出现网络闪断导致传输失败了,也只需要重新传输失败的一个文件,由于文件比较小,重新传输相对大文件要快很多,另外,切割成小文件,可以增加传输的并发量,也就是说多个小文件同时传输,比传输单个文件速度更快
Linux下切割文件的命令是 split 合并文件可以使用 cat 命令,下面将介绍这两个命令的使用以及切割和合并文件的方法
语法:
split 命令的语法如下:
split [OPTION]... [INPUT [PREFIX]]
PREFIX 表示大文件分割后产生的小文件名字的前缀,默认是小写字母 x,前缀后跟一组字符 , 按照类似 aa、ab、ac 字母顺序组成一个一个的文件名,比如:切割成三个文件,它们的文件名默认就是 xaa、 xab、 xac
OPTION 表示命令的选项,比如:按字节切割文件,按文件行切割文件等,下面列出了一些常用的选项
切割文件实例:
1) 按文件大小切割
创建一个100M的文件
fallocate -l 100M file
切割成每个文件20M,并输出日志
split -b 20M --verbose file
2) 指定切割成多少份
切割成10份,后缀使用数字不使用默认字母,指定前缀
split -n 10 -d num num_
3) 按行分割
首先创建一个 10K 大小的文件, 文件的每一行内容都是 “this is a test file”,并查看多少行
yes "this is a test file" | head -c 10K > numfile
[root@VM-12-12-centos bird]# cat numfile | wc -l
512
每100行切割一次
split -l 100 numfile
禁止生产长度为0的文件
由于切割的最小单位是1kb,如果5kb的文件切割为8份,就会有3个文件是0kb,所有这个时候就可以加上-e参数禁止生产0kb的文件
首先创建一个5kb的文件fallocate -l 5 testfile
将testfile分割为8份
split -n 8 -e testfile
#可以看出并没有生产0字节的文件
切割与合并:
大文件切割成许多小文件,通过网络全部传输到远程机器上之后,需要把它们合并成一个大文件,并且合并之后的大文件与原始的大文件要一模一样,下面我们通过一个实例来说明整个过程
1、 生成一个1G的文件用做分割和合并实验
fallocate -l 1G file
2、 查看文件的MD5值,用于合并文件时,检验文件是否损坏
md5sum file
3、 3、 将file文件分割成10份
split -n 10 -d file
4、 将文件进行合并
cat x* >new_file
5、 MD5值校验
#可以看出文件没有问题,这里有模拟了向远程主机切片传输文件,并合并的一个过程
Linux文件的切割与合并相关推荐
- java实现对大文件切割下载_Java实现大文件的切割与合并操作示例
Java实现大文件的切割与合并操作示例 发布时间:2020-09-27 02:25:08 来源:脚本之家 阅读:99 作者:HiBoyljw 本文实例讲述了Java实现大文件的切割与合并操作.分享给大 ...
- java基础—文件的切割与合并
文件的切割与合并 import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.Fil ...
- MP3文件的切割和合并
MP3文件的切割和合并 package cn.itcast.sequenceinputstream; /*需求:把一首mp3先切割成n份,然后再把这些文件合并起来*/import java.io.Fi ...
- File类文件的切割与合并
文件的切割:定义一个文件输出流,用来读取文件,在while语句中定义文件输出流,每循环一次就创建一个新的输出流来写图片 // 读取文件FileInputStream fi = new FileInpu ...
- python切割音频文件_python切割和合并wav音频文件
切割wav音频文件 如果没有pydub需要使用pip install pydub来安装模块 from pydub import AudioSegment from pydub.utils import ...
- linux 文件切割
切割合并文件在linux下用split和cat就可以完成.下面举些实例进行说明. 1.文件切割 文件切割模式分为两种: 文本文件: 二进制模式. 1.1文本模式 文本模式只适用于文本文件,用这种模式切 ...
- linux sed给空文件首行插入_linux下批量修改文件后缀名以及合并多行
写在前面 感谢乔兄送测的公司,让我终于所有营业 part1讲下怎么解决小问题 part2分享谈判过程 part3mark张兄的奶茶 PART1 linux下批量修改文件后缀名以及合并多行 近期师兄在做 ...
- php+如何按文字分割文件夹,PHP实现的大文件切割与合并功能示例
本文实例讲述了PHP实现的大文件切割与合并功能.分享给大家供大家参考,具体如下: 分割代码 split.php $i = 0; //分割的块编号 $fp = fopen("hadoop.sq ...
- linux下将多个文件去除文件头合并_命令行生存指南:拆分与合并 | Linux 中国
这一节将会介绍 Linux 命令行下的文件拆分与合并操作. 作者:Psiace (本文字数:2706,阅读时长大约:3 分钟) 作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是否尝试过 ...
最新文章
- python sklearn.svm.SVC() 使用方法
- 理解 | 理解a: float=10
- 设计模式(五)--工厂模式汇总
- 清华大学《操作系统》(十八):管程于信号量
- PageHelper 关闭COUNT(0)查询 以及PageHelper 的分页原理分析
- html canvas toblob 和下载图片
- ubuntu 16.04 手动安装Java过程
- NP、OSPF 缺省路由
- 什么是产品的愿景—从一篇博文中学得到
- MAC 安装python3 菜鸟教程
- 数据挖掘概念与技术第三版 范明、孟晓峰译 第三章习题答案
- Bootstrap框架---Uploadify插件----多张图片上传交互方式一
- python英文参考文献格式_英文论文参考文献标准格式
- 小米3文件与电脑连接到服务器,小米3如何连接电脑_小米3连接电脑发送文件的步骤...
- oracle监听时区,对Oracle中时区及时间的认识
- ECSHOP整合第三方登录,ECSHOP第三方QQ登录插件,ECSHOP第三方新浪微博登录插件,ECSHOP第三方支付宝登插件,ECSHOP淘宝登陆插件,ECSHOP第三方MSN登录
- 美元的阿拉伯数字转换为英文大写的格式
- oracle资产负债表重分类吗,​资产负债表一般是重分类还是不重分类
- VS2017中MFC的C++设计中给其它窗口发中文消息
- UI设计中线性图标设计总结
热门文章
- springboot如何根据bean名字注入
- c语言xml解析器libxm2
- 记一次上传应用到360移动开放平台和应用包开放平台
- oracle的安装实验报告,Oracle实验报告Oracle实验报告.doc
- java依赖登录的接口_sign-sdk-java
- 计算机二级access知识点题库,计算机二级access考试题库
- #{key}和${key} 取值的区别
- 29 java网络编程
- ubuntu 安装星际译王(stardict)
- Python3 02 数字(Number)、字符串、列表、元组、字典