十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
15 分钟之后,我要去朋友家聚会。我打算从我的台式机上把一部 700MB 大小的美国大片拷贝出来,带到朋友家去看,可是我的两个优盘都只有 512MB,这让我如何是好?
创新互联是一家集网站建设,建阳企业网站建设,建阳品牌网站建设,网站定制,建阳网站建设报价,网络营销,网络优化,建阳网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
别急,用 10 分钟赶快来认识一下我们的 split 拆分小能手,一切问题将迎刃而解。当遇到大文件而苦不堪言的时候,split 就会像天使一样解救我们于水火之中。
合久必分
闲言少叙,我们现在就来介绍拆分的方法。先使用 dd 命令来生成一个 700MB 文件来作为我们的拆分对象:
美国大片的文件大小是 700MB,而我手边仅有的两个优盘,都是 512MB 大小的。我打算把文件以 400MB 作为一个拆分单位,来进行拆分。这里使用到了 split 的-b选项,来指定每个拆分文件的大小:
看!分身完毕!咦,怎么多出了 xaa 和 xab 两个文件,这么奇怪的名字?
是的,你没看错,在没有明确指定拆分后文件的命名方式的情况下,split 会默认采用 x 字符作为文件前缀,采用类似 aa、ab、ac 的字符串依次作为文件后缀。于是,就出现了我们上面看到的 xaa、xab 了。
从文件大小来看,如我们所愿,电影文件的确被切割成了一个 400MB 的文件、一个 300MB 的文件,终于可以装到两个优盘里了。
知其然,知其所以然
知道了拆分命令后,我们来一起学习一下 split 的命令格式和常用选项。
split 的作用很好描述,就是将文件按照一定规则进行拆分。一般情况下,我们可以按照文件大小来进行拆分,如果是文本文件的话,还可以按照行数来进行拆分,默认是 1000 行作为一个拆分单位。
默认情况下,分割后的文件的名称会以 x 作为前缀,以 aa、ab、ac 这样的双字母格式作为后缀,形成 xaa、xab 这样的名称格式。
我们来一起看看 split 的命令格式:
split [-b ][-C ][-][-l ][要切割的文件][输出文件名前缀][-a ]
最常用的选项,都在这里了:
-b字节:指定按多少字节进行拆分,也可以指定 K、M、G、T 等单位。
-行数或-l行数:指定每多少行要拆分成一个文件。
输出文件名前缀:设置拆分后的文件的名称前缀,split 会自动在前缀后加上编号,默认从 aa 开始。
-a后缀长度:默认的后缀长度是 2,也就是按 aa、ab、ac 这样的格式依次编号。
分久必合
完成了美国大片的拆分,我赶赴朋友家,打开他的电脑,优盘插上,使用 cat 命令将拆分文件 xaa 和 xab 合并成一个文件,可以看出合并后的文件和源文件的大小是一致的:
对了,如果是在 Windows 下的话,我们要先运行 cmd,然后用 copy 命令来进行文件的合并:
copy /b xaa + xab king_of_ring.avi
格式上和 Linux 有些区别,但原理是一样的。
设置拆分文件的名称前缀
上面例子中,我们没有指定拆分文件的名称前缀,结果拆分后的文件名都是 aa、ab 这样的名称,这样的名称既不达意也不美观。
下面的例子,我们尝试以 king_of_ring_part_ 作为拆分后文件的名称前缀:
[root@roclinux ~]$ split -b 400m king_of_ring.avi king_of_ring_part_
文件名的可读性是不是提高了不少,从文件名称就可以看出来是美国大片的拆分文件啦。
设置数字后缀
如果大家看不惯以 aa、ab 这种字母作为文件后缀,我们还可以通过-d选项来指定数字形式的文件后缀:
[root@roclinux ~]$ split -b 400m -d king_of_ring.avi king_of_ring_part_
对于中国人来说,数字形式的后缀,增加了文件名称的可读性。
按照行数进行拆分
前面我们讲的是按照文件大小(如 400MB)进行文件拆分的方法,但是并非所有情况都适合于用文件大小作为拆分单元。比如,我们希望把 /etc/passwd 文件按照一个文件 10 行记录的方式进行拆分,又该怎么操作呢?
[root@roclinux ~]$ split -d -10 /etc/passwd my_passwd_
合并后的校验不可少
需要注意的是,在通过网络来传输大文件,或者在设备之间复制大文件的时候,可能会出现传输前后数据不一致的情况。
使用 split 来拆分大文件仅仅是故事的开始,操作完毕后化零为整、完璧归赵才是完美的结局。因此需要在合并文件后进行文件的完整性校验,推荐使用 md5sum 来计算和比对前后两个大文件的 md5 值。
如果前后一致,那么恭喜你,文件合并成功!
好了,split 学完了,我们也可以和朋友一起欣赏惊险刺激的美国大片了!
1)按2行切割 -l 2
2)指定切割后的文件前缀名 data_
3)指定切割后的文件后缀名为数字 -d
4)指定切割后的文件后缀名数字的长度 -a 4,即位宽(10进制),这里长度可根据切割出来的文件有多少估算,到底拆分为几个文件,由总行数,和每个文件的行数决定,不用指定。
如果为-a 4文件的后缀数字从0000开始计算,依次为0001,0002,0003,0004
split -l 2 data.log -d -a 4 data_
将文件data.log进行拆分,每个文件2行,如果文件总共有7行,则分为data_0000,data_0001,data_0002,data_0003
1、Linux里切割大文件的命令如下:
split [OPTION] [INPUT [PREFIX]]
选项如下:
-a : 指定后缀长度
-b : 每个文件多少字节
-d : 使用数字后缀而不是字母
-l : 指定每个文件的行数
2、比如我想让后缀长度为 2,即 -a 2。用数字后缀 -d。每个文件 10M,即 -b 10m。命令可以设计如下:
split -a 2 -d -b 10m /var/lib/mysql/general.log nowamagic
会在 /root 文件夹下生成下面的切割文件:
nowamagic00
nowamagic01
nowamagic02
nowamagic03
nowamagic04
nowamagic05
nowamagic06
nowamagic07
nowamagic08
nowamagic09
linux有rz和sz命令,可以让我们在window和本地虚拟机之间传输文件,但是有个麻烦的事情就是不能传输大于4G的文件
如果是传送到linux,可以使用FileZilla软件,那么从linux下拉到windows怎么解决呢,那就是使用split将文件拆分成小于4G的文件
上面讲解了拆分,下面讲讲合并tar包
linux基本操作-----文件的排序+分割+合并+归档等1
sort
1
sort命令将输入文件看做由多条记录组成的数据流,而记录由可变宽度的字段组成,以换行符作为定界符
2
sort的命令的基本格式
sort
选项
文件
3
sort命令选项及其意义
选项
意义
-c
测试文件是否已经被排序
-k
指定排序的域
-m
合并两个已排序的文件
-n
根据数字大小进行排序
-o
输出文件
将输出写到指定的文件,相当于将输出重定向到指定的文件
-r
将排序结果逆向显示
-t
改变域分割符
-u
去除结果中的重复行2
uniq
1
uniq命令是用于去除文本的重复行,这类似于sort命令的-u选项
2
uniq命令的基本用法
uniq
选项
文件
3
uniq命令选项及其意义
选项
意义
-c
打印每行在文本中重复出现的次数
-d
只显示有重复的记录,每个重复记录只出现一次
-u
只显示没有重复的记录3
cut
1
cut命令用于从标准输入或文本文件中按域或行提取文本
2
cut命令的基本格式
cut
选项
文件
3
cut选项及其意义
选项
意义
-c
指定提取的字符数或字符范围
-f
指定提取的域或域的范围
-d
改变域分割符4
tar
1
tar命令是linux的归档命令,通俗的说tar命令实现了linux系统文件的压缩和解压缩
2
tar命令基本格式
tar
选项
文件名或目录名
3
tar命令选项及其意义
选项
意义
-c
创建新的包
-r
为包添加新的文件
-t
列出包内容
-u
更新包中的文件,若包中没有此文件,则将文件添加进包中
-x
解压缩文件
-v
详细报告tar处理的信息
-f
使用压缩文件或设备,该选项通常是必选的
-z
用gzip压缩和解压缩文件,如果是.gz结尾的tar包那么该选项是必须的
4
解压非gzip格式的压缩包
tar
-xvf
包名
解压gzip格式的压缩包
tar
-zxvf
包名
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
2、在linux命令行下输入shell指令:split -l 3 test.txt test。
3、最后,按下回车键执行shell指令,此时会看到test.txt被成功拆分为了3个文件。