dd命令的skip和seek
假如我有一个文件abc.gz,大小为83456k,我想用dd命令实现如下备份 结果:首先将备份分成三个部分,第一部分为备份文件abc.gz的前10000k,第二部分为中间的70000k,最后备份后面的3456k.
备份方法如下三条命令:
dd if=abc.gz of=abc.gz.bak1 bs=1k count=10000
dd if=abc.gz of=abc.gz.bak2 bs=1k skip=10000 count=70000
dd if=abc.gz of=abc.gz.bak3 bs=1k skip=80000
恢复方法如下:
dd if=abc.gz.bak1 of=abc.gz
dd if=abc.gz.bak2 of=abc.gz bs=1k seek=10000
dd if=abc.gz.bak3 of=abc.gz bs=1k seek=80000
这时你查看一下恢复的文件将和你原来的文件一模一样,说明备份成功!
理解说明:
ibs=bytes:用于定义输入块的大小,一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:用于定义输出块的大小,一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小,为bytes个字节。
skip=blocks,跳过一段以后才输入,是在备份时对if 后面的部分也就是原文件跳过多少块再开始备份;
seek=blocks,跳过一段以后才输出,则是在备份时对of 后面的部分也就是目标文件跳过多少块再开始写。
count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
http://blog.csdn.net/do2jiang/article/details/5069536
http://blog.csdn.net/liumang_d/article/details/3899462
http://www.cnblogs.com/licheng/articles/1116492.html