当前位置: 首页 > Linux

精通Linux拆分命令

时间:2023-04-06 03:52:19 Linux

11例当我们使用split命令拆分一个大文件时,输出文件的默认大小是1000行,默认前缀是x。在本文中,我们将分享split命令的11个有用示例。除此之外,我们还将讨论如何将拆分文件合并或重组为单个文件。split命令的语法如下:#split{options}{file_name}{prefix}split命令的一些重要选项如下:(1)将文件分成多个部分将文件分成多个部分,示例如下如下:[root@linuxtechi~]#splittuxlap.txt[root@linuxtechi~]#lltotal32-rw------。1rootroot980Aug1200:11anaconda-ks.cfg-rw-r--r--.1rootroot9607Nov1103:22tuxlap.txt-rw-r--r--。1rootroot8744Nov1103:23xaa-rw-r--r--。1rootroot863Nov1103:23xab[root@linuxtechi~]#我们可以看到,tuxlab.txt分为两部分:xaa和xab。(2)带有详细选项的拆分命令我们可以在详细模式下运行拆分命令,使用--verbose选项[root@linuxtechi~]#splittuxlap.txt--verbosecreatingfile'xaa'creatingfile'xab'[root@linuxtechi~]#(3)按行拆分文件(-l)假设我们要拆分一个文件,每行最多200行。[root@linuxtechi~]#split-l200tuxlap.txt--verbosecreatingfile'xaa'creatingfile'xab'creatingfile'xac'creatingfile'xad'creatingfile'xae'creatingfile'xaf'[root@linuxtechi~]#使用以下命令验证每个文件的行数[root@linuxtechi~]#wc-lxa*200xaa200xab200xac200xad200xae91xaf1091total[root@linuxtechi~]#(4)ByfileSplitfilesbysize(-b)我们可以按文件大小分割文件,单位为:bytes,KB,MBandGB#split-b{bytes}{file_name}#split-bnK{file_name}//n是数值#split-bnM{file_name}//n是数值#split-bnG{file_name}//n是按字节分割文件的数值[root@linuxtechi~]#split-b2000000tuxlap.txt按KB分割文件[root@linuxtechi~]#split-b50Ktuxlap.txt按MB分割文件[root@linuxtechi~]#split-b50Mtuxlap.txt按GB分割文件[root@linuxtechi~]#split-b1Gtuxlap.txt(5)创建带有数字后缀(-d)的拆分文件在上面的示例中,我们已经看到拆分命令输出文件是使用字母后缀创建的,例如xaa、xab...。使用-d选项创建带有数字后缀的拆分输出文件,例如x00、x01、x0n[root@linuxtechi~]#split-dtuxlap.txt[root@linuxtechi~]#lltotal1024256-rw------.1rootroot980Aug1200:11anaconda-ks.cfg-rwx------。1rootroot1048576000Nov1103:54linux-lite.iso-rw-r--r--。1rootroot120010Nov1104:39tuxlap.txt-rw-r--r--。1根根11998年11月11日04:41x00-rw-r--r--。1rootroot12000Nov1104:41x01-rw-r--r--。1rootroot12000Nov1104:41x02-rw-r--r--。1rootroot12000Nov1104:41x03-rw-r--r--。1rootroot12000Nov1104:41x04-rw-r--r--。1rootroot12000Nov1104:41x05-rw-r--r--。1rootroot12000Nov1104:41x06-rw-r--r--。1rootroot12000Nov1104:41x07-rw-r--r--。1rootroot12000Nov1104:41x08-rw-r--r--.1rootroot12000Nov1104:41x09-rw-r--r--。1rootroot12Nov1104:41x10[root@linuxtechi~]#(6)要拆分带有自定义后缀的文件我们可以创建带有自定义后缀的拆分输出文件,语法如下:#split{file_name}{prefix_name}例子如下:[root@linuxtechi~]#splittuxlap.txtsplit_file_[root@linuxtechi~]#lltotal1024248-rw------。1rootroot980Aug1200:11anaconda-ks.cfg-rwx------。1rootroot1048576000Nov1103:54linux-lite.iso-rw-r--r--。1rootroot11998Nov1104:56split_file_aa-rw-r--r--。1rootroot12000Nov1104:56split_file_ab-rw-r--r--。1rootroot12000Nov1104:56split_file_ac-rw-r--r--。1rootroot12000Nov1104:56split_file_ad-rw-r--r--。1rootroot12000Nov1104:56split_file_ae-rw-r--r--。1rootroot12000Nov1104:56split_file_af-rw-r--r--。1rootroot12000Nov1104:56split_file_ag-rw-r--r--。1rootroot12000Nov1104:56split_file_ah-rw-r--r--。1rootroot12000Nov1104:56split_file_ai-rw-r--r--。1rootroot12000Nov1104:56split_file_aj-rw-r--r--。1rootroot12Nov1104:56split_file_ak-rw-r--r--。1rootroot120010Nov1104:39tuxlap.txt[root@linuxtechi~]#(7)生成n块输出文件(-n)假设我们要将一个iso文件分成5个chunk输出文件[root@linuxtechi~]#split-n5linux-lite.iso使用ls命令验证分割文件[root@linuxtechi~]#lstotal2048124-rw------。1rootroot980Aug1200:11anaconda-ks.cfg-rwx------。1rootroot1048576000Nov1103:54linux-lite.iso-rw-r--r--。1rootroot120010Nov1104:39tuxlap.txt-rw-r--r--。1根根20971520011月11日05:22xaa-rw-r--r--。1根根20971520011月11日05:22xab-rw-r--r--。1根根20971520011月11日05:22xac-rw-r--r--。1根根20971520011月11日05:23xad-rw-r--r--。1rootroot209715200Nov1105:23xae[root@linuxtechi~]#(8)preventzero-sizesplitoutputfiles(-e)insomecaseswewillSplittingasmallfileintolargenumbersblockfilesmaycreatezero-sized的分割输出文件,这可以通过使用-e选项来避免[root@linuxtechi~]#split-n60-etuxlap.txt[root@linuxtechi~]#ls-lx*-rw-r--r--.1根根2000年11月11日05:34xaa-rw-r--r--。1根根2000年11月11日05:34xab-rw-r--r--。1根根2000年11月11日05:34xac-rw-r--r--。1根根2000年11月11日05:34xad-rw-r--r--。1根根200011月11日05:34xae-rw-r--r--。1根根2000年11月11日05:34xaf-rw-r--r--。1根根2000年11月11日05:34xag-rw-r--r--。1根根2000年11月11日05:34xah.......-rw-r--r--。1根根2000年11月11日05:34xce-rw-r--r--。1根根2000年11月11日05:34xcf-rw-r--r--。1根根2000年11月11日05:34xcg-rw-r--r--。1rootroot2010Nov1105:34xch[root@linuxtechi~]#(9)Createsplitoutputfileswithcustomsuffixlength(-a)假设我们要拆分一个iso文件,其中每个拆分输出文件的大小为500MB,后缀长度为3[root@linuxtechi~]#split-b500Mlinux-lite.iso-a3[root@linuxtechi~]#lltotal2048124-rw------。1rootroot980Aug1200:11anaconda-ks.cfg-rwx------。1rootroot1048576000Nov1103:54linux-lite.iso-rw-r--r--。1rootroot120010Nov1104:39tuxlap.txt-rw-r--r--。1根根52428800011月11日05:43xaaa-rw-r--r--。1rootroot524288000Nov1105:43xaab[root@linuxtechi~]#(10)拆分ISO文件并合并为单个文件假设我们有一个4.2GB大小的WindowsServerISO文件,我们无法将文件scp到远程服务器为了解决这个问题,我们可以将ISO分成n份,将这些份复制到远程服务器上,我们可以使用cat命令将这些份合并为一个文件[root@linuxtechi~]#split-b800MWindows2012r2.isosplit_IS0_使用ls命令查看分割输出文件[root@linuxtechi~]#lltotal8871788-rw------.1rootroot980Aug1200:11anaconda-ks.cfg-rw-r--r--。1rootroot838860800Nov1106:29Split_IS0_aa-rw-r--r--。1rootroot838860800Nov1106:29Split_IS0_ab-rw-r--r--。1rootroot838860800Nov1106:29Split_IS0_ac-rw-r--r--。1rootroot838860800Nov1106:29Split_IS0_ad-rw-r--r--。1rootroot838860800Nov1106:29Split_IS0_ae-rw-r--r--。1rootroot347987968Nov1106:29Split_IS0_af-rw-r--r--。1rootroot120010Nov1104:39tuxlap.txt-rwx------。1rootroot4542291968Nov1106:03Windows2012r2.iso[root@linuxtechi~]#scp这些文件到远程服务器,使用cat命令将这些文件合并为一个文件[root@linuxtechi~]#catSplit_IS0_a*>Windows_Server.iso[root@linuxtechi~]#(11)使用md5sum校验合并后文件的完整性如例10所示,拆分后的文件合并为一个文件后,我们可以使用md5sum工具校验完整性的文件。示例如下[root@linuxtechi~]#md5sumWindows2012r2.iso5b5e08c490ad16b59b1d9fab0def883aWindows2012r2.iso[root@linuxtechi~]#[root@linuxtechi~]#md5sumWindows_Server.iso5b5e08c490ad16b59b1d9fab0def883aWindows_Server.iso[root@linuxtechi~]#根据上面的输出,可以确认文件的完整性,我们也可以说分割文件作为单个文件成功恢复。以上就是本文的全部内容,如果您喜欢本文,请在下面的评论部分分享您宝贵的反馈和意见。我的开源项目课程-tencent-cloud(酷瓜云课堂-gitee仓库)course-tencent-cloud(酷瓜云课堂-github仓库)