在linux运维、日常文件处理工作中,我们经常会遇到超大文件难题:几十G的日志文件、数据库备份文件,传输慢、打开卡、影响现网应用等。这时候,linux 自带的split命令就是绝佳解决方案!它无需安装额外软件,一行命令就能快速把大文件切割成任意大小、任意行数的小文件,操作简单、是linux用户必备的实用命令之一。这篇《干货分享》,解决Linux运维痛点,提升效率就这么简单!今天就带大家了解split命令,从基础用法到高阶技巧,一文搞定文件拆分与还原,新手也能快速上手!split是linux系统中自带的原生的文件分割命令,核心作用是将单个大型文件,按照指定行数、指定文件大小、指定分割份数,切割成多个小型文件。它支持文本文件、二进制文件(图片、压缩包、镜像等)全类型文件分割,拆分后的文件可通过简单命令无缝合并还原,完全不影响文件完整性,高效运维必备技能,让你秒变文件处理高手,完美适配以下场景:split [选项] 待拆分的大文件 拆分后文件前缀
split txtbak20251221.tar.gz
如果直接执行 split 文件名,命令会按照每1000 行拆分文件,拆分后的文件默认以x为前缀,后缀为aa、ab、ac…… 的字母组合(如 xaa、xab)。日常使用中,我们通过添加选项,就能自定义拆分规则,满足不同需求。命令选项:-b + 文件大小(支持单位:B、K、M、G、T)实用示例:将 log.tar.g 按每个100M 拆分,拆分后文件以log_为前缀 split -b 20M log.tar.gz log_
拆分后生成文件log_aa、log_ab、log_ac……#按每个500K拆分split -b 500K large_tar.gz log_#按每个1G拆分split -b 1G log.tar.gz log_
实用示例:将 secure 按每个文件50行拆分,前缀为 log_split -l 5000 secure log_
实用示例:将 log.tar.gz 均分成 5 份 split -n 5 log.tar.gz bak_
默认后缀是字母(aa/ab),看起来不直观,用-d选项可改为数字后缀,搭配 -a可设置后缀位数。实用示例:按log.tar.gz拆分,数字后缀(00、01、02),后缀长度 3 位split -b 10K -d -a 3 log.tar.gz log_
拆分后生成:log_000、log_001、log_002。文件过大时,想查看拆分进度,添加--verbose 选项即可:split -b 10K -d --verbose log.tar.gz log_
执行后会实时打印:正在创建 log_000、正在创建 log_001……文件拆分后,传输、处理完成,需要还原成原始文件,无需额外工具,用 cat 命令就能一键合并,操作超简单,数据安全,合并无忧,一步还原原文件!示例:拆分后的文件以 log_ 开头,合并为原始文件 log.tar.gz- 合并后可以通过md5sum命令校验文件的完整性,确保文件和源文件一致。
split -b 5K 2.txt 2.split.txt_
生成文件:2.split.txt_aa、2.split.txt_ab,2.split.txt_ac用 -C 选项替代 -b,按大小拆分同时,保证每行完整,避免文本断裂:split -C 100M access.log log_
split -n 10 -e log.tar.gz log_
- 拆分二进制文件(镜像包,压缩文件等)时,用-b按大小拆分后完整性更高;
- 合并文件前,不要修改拆分后的文件名,否则会导致合并失败;合并前先ls确认下文件列表是否齐全。
linux神器,运维人员必学,大文件难题从此清零!split 命令看似简单,却是linux 处理大文件的刚需工具,无需依赖、一行生效,不管是运维排查日志,还是日常传输大文件,都能大幅提升效率。#按100M拆分,数字后缀split -b 100M -d 原文件 前缀#按5000行拆分split -l 5000 原文件 前缀#合并拆分文件cat 前缀* > 新文件
下次遇到 Linux 大文件难题,别再发愁,直接用split 命令轻松搞定,收藏备用,转发给需要的队友,一起提升运维效率!