dd、split、csplit命令
在Linux最常用的文件生成和切片工具是dd,它功能比较全面,但无法以行为单位提取文件数据,也无法直接将文件按大小或行数进行均分(除非借助循环)。另两款数据分割工具split和csplit能够比较轻松地实现这些需求。csplit是split的升级版。 在处理很大的文件时,一个非常高效的思路是将大文件切割成多个小文件片段,然后再通过多个进程/线程对各个小文件进行操作,最后合并总数居。就像sort命令,它在实现排序时,底层算法就涉及到了将一个大文件切割成多个临时小文件。 dd命令 从 if指定的文件读取数据,写入到of指定的文件 。使用bs指定读取和写入的块大小,使用count指定读取和写入的数据块数量,bs和count相乘就是文件总大小。可以指定skip忽略读取if指定文件的前多少个块,seek指定写入到of指定文件时忽略前多少个块。 [root@master nginx]# dd if=/dev/zero of=/tmp/abc.1 bs=1M count=20 [root@master nginx]# ls /tmp/abc.1 -lh -rw-r--r-- 1 root root 20M 11月 29 16:45 /tmp/abc.1 if是input file,of是output file;bs有c(1byte)、w(2bytes)、b