Linux的split命令可按行数、字节数分割文件,支持字母/数字后缀、管道输入及完整性验证,实现大文件高效拆分与还原。

如果您需要将一个体积庞大的文件拆分为多个较小的部分以便传输、存储或处理,则可以使用 Linux 系统内置的 split 命令。以下是几种常用且有效的分割方法:
一、按固定行数分割文件
该方法适用于文本类文件(如日志、CSV),将文件以指定行数为单位切分为多个小文件,每个输出文件默认以“x”开头加字母后缀命名。
1、打开终端,进入目标文件所在目录。
2、执行命令:split -l 1000 largefile.txt output_prefix,其中 1000 表示每份包含 1000 行,largefile.txt 是原始大文件,output_prefix 是输出文件的前缀。
3、执行后生成形如 output_prefixaa、output_prefixab 的文件。
二、按指定字节数分割文件
该方法适合任意类型文件(包括二进制文件),依据字节大小精确控制每个分片容量,避免因换行符导致的不均匀切分。
1、确认原始文件大小,可运行:ls -lh largefile.bin。
2、执行命令:split -b 50M largefile.bin part_,其中 50M 表示每份 50 兆字节,part_ 为输出前缀。
3、生成的文件名为 part_aa、part_ab 等,每个大小严格接近 50MB(最后一块可能略小)。
三、自定义输出文件后缀与编号格式
默认 split 使用两位字母后缀(aa、ab…),但可通过选项改为数字编号并指定位数,便于脚本识别与排序。
1、使用数字后缀并设定三位宽度(000、001…):split -d -a 3 -b 100M archive.tar.gz seg_。
2、其中 -d 启用数字后缀,-a 3 指定编号长度为 3 位,seg_ 是前缀。
3、生成文件如 seg_000、seg_001、seg_002,顺序清晰,利于批量处理。
四、结合管道对远程或标准输入流实时分割
当无法将大文件完整写入磁盘(如内存受限或需边下载边切分)时,可将命令输出直接传给 split 处理。
1、从远程 URL 下载并即时分割:curl -s https://example.com/big.iso | split -b 200M - iso_part_。
2、注意末尾的 - 表示 split 从标准输入读取数据,而非读取磁盘文件。
3、所有分片将按 iso_part_00、iso_part_01 等方式生成于当前目录。
五、验证分割完整性并还原原始文件
分割后若需校验是否可无损还原,应确保各分片未被误删或损坏,并使用 cat 命令拼接回原貌。
1、列出所有分片并按序检查:ls -1 seg_* | sort。
2、执行拼接:cat seg_* > restored.iso,其中 seg_* 匹配全部分片,sort 保证顺序正确(尤其启用 -d 时)。
3、比对原始与还原文件的 SHA256 值:sha256sum original.iso restored.iso,两行输出值必须完全一致。










