问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

通过11 个实例彻底掌握 Linux Split 命令怎么用

发布网友 发布时间:2024-06-01 00:16

我来回答

1个回答

热心网友 时间:2024-06-21 22:10

split 命令在 Linux 和 UNIX 系统中用于将文件拆分或分解成小块。当我们使用 split 命令分割一个大文件时,输出文件的默认大小是 1000 行,默认前缀为 x。
在本文中,我们将分享 11 个有用的 split 命令示例。除此之外,我们还将讨论如何将分割的文件合并或重新组装成单个文件。
split 命令语法如下:
# split {options} {file_name} {prefix}
code>
split 命令的一些重要选项如下所示:
(1) 将文件拆分为多个部分
将文件拆分为多个部分,示例如下:
# split tuxlap.txt
# lltotal 32-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rw-r--r--. 1 root root 9607 Nov 11 03:22 tuxlap.txt-rw-r--r--. 1 root root 8744 Nov 11 03:23 xaa-rw-r--r--. 1 root root 863 Nov 11 03:23 xab
#
code>
正如我们所看到的,tuxlab.txt 被分成了 xaa 和 xab 两个部分。
(2) 带有详细选项的拆分命令
我们可以在详细模式下运行 split 命令,使用 --verbose 选项
# split tuxlap.txt --verbosecreating file ‘xaa’creating file ‘xab’
#
code>
(3) 按行数拆分文件 (-l)
假设我们想要分割一个文件,每个文件最多 200 行。
# split -l200 tuxlap.txt --verbosecreating file ‘xaa’creating file ‘xab’creating file ‘xac’creating file ‘xad’creating file ‘xae’creating file ‘xaf’
#
code>
使用下面的命令验证每个文件的行数
# wc -l xa* 200 xaa 200 xab 200 xac 200 xad 200 xae 91 xaf1091 total
#
code>
(4) 按文件大小拆分文件 (-b)
我们可以按文件大小拆分文件,单位为:bytes,KB,MB 和 GB
# split -b {bytes} {file_name}# split -b nK {file_name} // n is the numeric value# split -b nM {file_name} // n is the numeric value# split -b nG {file_name} // n is the numeric value
code>
按 Bytes 拆分文件
# split -b2000000 tuxlap.txt
code>
按 KB 拆分文件
# split -b 50K tuxlap.txt
code>
按 MB 拆分文件
# split -b 50M tuxlap.txt
code>
按 GB 拆分文件
# split -b 1G tuxlap.txt
code>
(5) 使用数字后缀创建拆分文件 (-d)
在上面的例子中,我们已经看到 split 命令输出文件是用像 xaa, xab ... 这样的字母后缀创建的。使用 -d 选项创建带有数字后缀的分割输出文件,如 x00, x01, x0n
# split -d tuxlap.txt
# lltotal 1024256-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rwx------. 1 root root 1048576000 Nov 11 03:54 linux-lite.iso-rw-r--r--. 1 root root 120010 Nov 11 04:39 tuxlap.txt-rw-r--r--. 1 root root 11998 Nov 11 04:41 x00-rw-r--r--. 1 root root 12000 Nov 11 04:41 x01-rw-r--r--. 1 root root 12000 Nov 11 04:41 x02-rw-r--r--. 1 root root 12000 Nov 11 04:41 x03-rw-r--r--. 1 root root 12000 Nov 11 04:41 x04-rw-r--r--. 1 root root 12000 Nov 11 04:41 x05-rw-r--r--. 1 root root 12000 Nov 11 04:41 x06-rw-r--r--. 1 root root 12000 Nov 11 04:41 x07-rw-r--r--. 1 root root 12000 Nov 11 04:41 x08-rw-r--r--. 1 root root 12000 Nov 11 04:41 x09-rw-r--r--. 1 root root 12 Nov 11 04:41 x10
#
code>
(6) 使用自定义后缀拆分文件
我们可以创建带有自定义后缀的分割输出文件,语法如下:
# split {file_name} {prefix_name}
code>
示例如下:
# split tuxlap.txt split_file_
# lltotal 1024248-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rwx------. 1 root root 1048576000 Nov 11 03:54 linux-lite.iso-rw-r--r--. 1 root root 11998 Nov 11 04:56 split_file_aa-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ab-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ac-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ad-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ae-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_af-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ag-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ah-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_ai-rw-r--r--. 1 root root 12000 Nov 11 04:56 split_file_aj-rw-r--r--. 1 root root 12 Nov 11 04:56 split_file_ak-rw-r--r--. 1 root root 120010 Nov 11 04:39 tuxlap.txt
#
code>
(7) 生成 n 块输出文件 (-n)
假设我们想把一个 iso 文件分成 5 个 chunk 输出文件
# split -n5 linux-lite.iso
code>
使用 ls 命令验证拆分文件
# lstotal 2048124-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rwx------. 1 root root 1048576000 Nov 11 03:54 linux-lite.iso-rw-r--r--. 1 root root 120010 Nov 11 04:39 tuxlap.txt-rw-r--r--. 1 root root 209715200 Nov 11 05:22 xaa-rw-r--r--. 1 root root 209715200 Nov 11 05:22 xab-rw-r--r--. 1 root root 209715200 Nov 11 05:22 xac-rw-r--r--. 1 root root 209715200 Nov 11 05:23 xad-rw-r--r--. 1 root root 209715200 Nov 11 05:23 xae
#
code>
(8)防止零大小分割输出文件 (-e)
在某些情况下,我们将一个小文件分割成大量的块文件,可能创建零大小的分割输出文件,可以使用-e 选项避免这种情况的出现
# split -n60 -e tuxlap.txt
# ls -l x*-rw-r--r--. 1 root root 2000 Nov 11 05:34 xaa-rw-r--r--. 1 root root 2000 Nov 11 05:34 xab-rw-r--r--. 1 root root 2000 Nov 11 05:34 xac-rw-r--r--. 1 root root 2000 Nov 11 05:34 xad-rw-r--r--. 1 root root 2000 Nov 11 05:34 xae-rw-r--r--. 1 root root 2000 Nov 11 05:34 xaf-rw-r--r--. 1 root root 2000 Nov 11 05:34 xag-rw-r--r--. 1 root root 2000 Nov 11 05:34 xah.............-rw-r--r--. 1 root root 2000 Nov 11 05:34 xce-rw-r--r--. 1 root root 2000 Nov 11 05:34 xcf-rw-r--r--. 1 root root 2000 Nov 11 05:34 xcg-rw-r--r--. 1 root root 2010 Nov 11 05:34 xch
#
code>
(9) 创建自定义后缀长度的分割输出文件 (-a)
假设我们想要分割一个 iso 文件,其中每个分割输出文件的大小为 500MB,后缀长度为 3
# split -b 500M linux-lite.iso -a 3
# lltotal 2048124-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rwx------. 1 root root 1048576000 Nov 11 03:54 linux-lite.iso-rw-r--r--. 1 root root 120010 Nov 11 04:39 tuxlap.txt-rw-r--r--. 1 root root 524288000 Nov 11 05:43 xaaa-rw-r--r--. 1 root root 524288000 Nov 11 05:43 xaab
#
code>
(10) 拆分 ISO 文件并合并为单个文件
假设我们有一个 4.2 GB 大小的 Windows Server ISO 文件,我们无法将该文件 scp 到远程服务器。
为了解决这种问题,我们可以将 ISO 分成 n 个片段,并将这些片段复制到远程服务器,在远程服务器上,我们可以使用 cat 命令将这些片段合并为一个文件
# split -b 800M Windows2012r2.iso Split_IS0_
code>
使用 ls 命令查看分割输出文件
# lltotal 8871788-rw-------. 1 root root 980 Aug 12 00:11 anaconda-ks.cfg-rw-r--r--. 1 root root 838860800 Nov 11 06:29 Split_IS0_aa-rw-r--r--. 1 root root 838860800 Nov 11 06:29 Split_IS0_ab-rw-r--r--. 1 root root 838860800 Nov 11 06:29 Split_IS0_ac-rw-r--r--. 1 root root 838860800 Nov 11 06:29 Split_IS0_ad-rw-r--r--. 1 root root 838860800 Nov 11 06:29 Split_IS0_ae-rw-r--r--. 1 root root 347987968 Nov 11 06:29 Split_IS0_af-rw-r--r--. 1 root root 120010 Nov 11 04:39 tuxlap.txt-rwx------. 1 root root 4542291968 Nov 11 06:03 Windows2012r2.iso
#
code>
将这些文件 scp 到远程服务器,并使用 cat 命令将这些文件合并为一个文件
# cat Split_IS0_a* Windows_Server.iso
#
code>
(11) 使用 md5sum 验证合并文件的完整性
如例 10 所示,分割文件合并为单个文件后,我们就可以使用 md5sum 工具检查文件的完整性。示例如下
# md5sum Windows2012r2.iso5b5e08c490ad16b59b1d9fab0def883a Windows2012r2.iso
#
# md5sum Windows_Server.iso5b5e08c490ad16b59b1d9fab0def883a Windows_Server.iso
#
code>
根据上面的输出,可以确认文件的完整性,我们也可以说分割文件成功恢复为单个文件。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 领淘通淘客助手这个软件怎么样? 我刚才用手机练科目四练了100分去考试能过吗? 科目四考试100分通过的秘诀,驾考必看! 科目四考了100,什么水平 泰国调经丸吃了有没有皮肤细腻皱纹减少的? 妨害公务罪,谅解书提交了,刑事拘留有11天,请问可以取保候审吗? 试用试用期期限届满后能再延长吗 地球为什么悬空在宇宙中而不掉下去呢??下边的最低最低点又是什么呢... 地球为何"悬"在太空? 职工离职需不需要赔偿企业缴纳的社会保险 如何制作花椒香辣味的杂拌? 高速路上醉驾逆行造成交通事故致人伤残构成什么罪,一斤般判几年?_百... 中国吉林国际合作(集团)股份有限公司怎么样? 在枫林谷森林公园周边自驾游,应该怎么规划旅行路线? 去枫林谷森林公园旅行,怎么玩更舒适? 独自去枫林谷森林公园旅行,有怎样的感受? 初次去枫林谷森林公园游玩,有哪些靠谱的攻略可以分享? 去枫林谷森林公园旅行前需要准备什么? 去枫林谷森林公园毕业旅行,应该如何制定计划? 12月份去枫林谷森林公园旅游,应该如何制定计划? 国家电网公司分管电厂么 文件的合并 三菱变频空调开机,外机无反应,定时灯闪6次? 我们的生活在今后一定会变的很好翻译 起诉离婚孩子可以给男方吗 体育运动上20个最感人瞬间 公司员工股权分配方案(含分配评定方法、兑现方式、系数) 企业营业执照可以注明几个企业的名称? 1958年前土地没有证可以查询吗 请问上辈的老房子不知有没有做过土地使用证,需要到什么部门查询。谢谢... 如何取消qq互联应用授权? 菏泽市开发区广州路中学到菏泽第一中学有多远 在外面住,突遇警察查房怎么样办 未成年跟男友开房,警察查房怎么处理 土地征收为国有和拆迁补偿后能申请信息公开吗?有何法律依据 西门子洗衣机故障显示f5e3怎么回事? 长期借款会计分录是什么 梦见捡到丨个男孩 受贿罪既遂判刑程序是怎样的 中考报志愿可填报外地吗? 在光盘里面可以直接打开exe的视频文件,拷贝出来后就打不开了