dd - convert and copy a file
假设我们的系统是安装在/dev/sda磁盘上,现在我加入一个和sda一样大小的磁盘,并使用 dd 命令将sda拷过来:
dd对磁盘是极大的浪费,100G的硬盘只用1G,dd后的备份文件也是100G。所以在 dd 时可以指定 bs 和 count 。
我测试时还存在一个问题:
接下来取下sda,直接以sdb开机。和原来系统应该一模一样。
dd :用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字: b=512 ; c=1 ; k=1024 ; w=2
参数注释:
4、备份与恢复MBR
·备份文件开始的512个字节大小的MBR信息到指定文件:
#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512
· count=1 指仅拷贝一个块; bs=512 指块大小为512个字节
·恢复:
#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb
·将备份的MBR信息写到磁盘开始部分
/dev/null ,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero ,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供 0 ,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串 0 。
/dev/null ——它是空设备,也称为位桶( bit bucket )。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。
你对bs=xxx count=mmm的说法是正确的,但是对dd的打印提示说法不正确。dd的输出是:
x+y records in
m+n records out
其中 x和m的含义是 x和m个完整的块(也就是你用bs指定的块大小)被读入和写出。
其中y和n的含义是 y和n个不完整的块(部分块)被读入和写出。
最常见产生的不完整块的读入是由于碰到了读入的文件尾,比如你有一个文件a.log的大小是10个字节,你用下面的命令就会出现1+1的情况,因为第二个块不够6个字节,只有4字节。
dd if=a.log of=b.log bs=6 count=2
1+1 records in
1+1 records out
常见的出现0+0的情况是由于被读的文件是空文件(0字节),比如下面的命令
dd if=/dev/null of=b.log bs=6 count=2
0+0 records in
0+0 records out
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)