Linux如何合并和分割大文件 split和cat用法【教程】

冬浩同学_9156

冬浩同学_9156

2026-04-09

383人浏览

原创

linux用split和cat合并分割大文件需注意:split必须用-b指定字节单位(如-b 500m)避免破坏二进制结构;分片命名须自然排序或显式sort;合并后须用file、unzip -t及sha256sum校验完整性。

linux如何合并和分割大文件 split和cat用法【教程】

Linux 合并和分割大文件,不用额外工具,split 和 cat 就够用——但参数选错、路径没写全、顺序搞反,结果就是文件损坏或拼不回来。

用 split 按大小切分大文件,别只记 -b

默认行为是按行切(每 1000 行一个文件),对二进制文件(如 ISO、压缩包)会直接破坏结构。必须显式指定字节单位:

  • split -b 500M bigfile.zip part_:切成每个 500MB 的文件,前缀为 part_,生成 part_aa、part_ab 等
  • split -b 1G --numeric-suffixes=1 bigfile.img img_:用数字后缀(img_1、img_2),更易排序,适合脚本处理
  • 别用 -l 处理非文本文件;-b 值后面必须带单位(K/M/G),写成 split -b 500000000 易出错且难读
  • 切完检查:ls -lh part_* 看大小是否符合预期,head -c 32 part_aa | xxd 确认开头没被截断

用 cat 合并时,顺序错一个就全废

cat 不校验内容,只是线性拼接。如果文件名乱序、漏掉某个分片,合并结果不可用(尤其 ZIP、PDF、磁盘镜像):

  • 确保分片命名可自然排序:part_aa part_ab part_ac;若用了 --numeric-suffixes,就用 img_{1..12} 这种 shell 展开,别手输
  • 安全写法:cat part_* > restored.zip(前提是 part_* 按字母序正好对应切割顺序)
  • 更稳妥:printf '%s\n' part_* | sort | xargs cat > restored.zip,强制按字典序排
  • 合并后立刻验证:file restored.zip 看类型是否识别正常;unzip -t restored.zip 测试 ZIP 完整性

跨机器传输后合并失败?先查换行符和文件结尾

Windows 传过来的分片可能被编辑器加了 \r\n,或 FTP 以 ASCII 模式传输导致二进制损坏:

  • 用 file part_aa 确认每个分片仍是“data”类型,不是“C source”或“text”
  • 对比原始文件和第一个分片头:head -c 16 bigfile.zip | xxd 和 head -c 16 part_aa | xxd,必须一致
  • 用 sha256sum 核对原始文件和合并后文件的哈希值(提前算好!):sha256sum bigfile.zip vs sha256sum restored.zip
  • FTP 传分片务必设为 binary 模式;SCP 或 rsync 更可靠

真正麻烦的不是命令本身,而是分片命名规则、传输完整性、合并时的排序逻辑这三处——少检查任何一环,合出来的文件大概率打不开。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

2023.09.04

1138

7

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

2023.06.20

728

5

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.28

1009

10

常见的编码方式
常见的编码方式

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。想了解更多编码方式相关内容,可以阅读本专题下面的文章。

2023.10.24

1428

7

a和A对应的ASCII码数值
a和A对应的ASCII码数值

a的ascii码是65,a的ascii码是97;ascii码表中,一个字母的大小写数值相差32,一般知道大写字母的ascii码数值,其对应的小写字母的ascii码数值就算出来了,是大写字母的ascii码数值“+32”。想了解更多相关的内容,可阅读本专题下面的相关文章。

2024.10.24

5127

11

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3159

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2718

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1468

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2499

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习