linux拆分命令 linux拆分文件大小

linux split拆分文件 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_
对于中国人来说,数字形式的后缀,增加了文件名称的可读性 。

推荐阅读