cszer

dd指令的使用

分类: 技术, Linux 基础   标签:    评论: 2   阅读:2,984 views

dd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

1、数据备份与恢复

1)整盘数据备份与恢复

(1)备份

##将本地的/dev/hdx整盘备份到/dev/hdy

dd  if=/dev/hdx  of=/dev/hdy

##将/dev/hdx全盘数据备份到指定路径的image文件

dd  if=/dev/hdx  of=/path/to/image

##备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径(bzip2工具也一样可使用)

dd  if=/dev/hdx  |  gzip > /path/to/image.gz

(2)恢复

##将备份文件恢复到指定盘

dd if=/path/to/image of=/dev/hdx

##将压缩的备份文件恢复到指定盘

gzip -dc /path/to/image.gz | dd of=/dev/hdx

—————————————————————————————————————————-

2)利用netcat与dd指令进行远程备份

(1)备份

假设:接收端的IP地址为:192.168.1.200;发送端的IP地址为:192.168.1.100 第一步:在接收端上执行命令:

nc -l 1234 | dd of=/dev/sdb1 或者 nc -l 1234 | gzip -dc | dd of=/dev/sdb1

,即:nc指令的输出为标准输出,通过管道将nc指令的输出作为dd指令的输入,最后将数据写入/dev/sdb1中

(2)恢复

第二步:在发送端上执行命令:

dd if=/dev/hda1 | nc 192.168.1.200 1234 或者 dd if=/dev/hda1 | gzip | nc 192.168.1.200 1234

即:将/dev/hda1设备上的数据作为dd的输入,而标准输出作为dd指令的输出,但是由于管道,所以将dd的标准输出将作为nc指令的输出

—————————————————————————————————————————-

3)备份MBR

(1)备份 ##备份磁盘开始的512Byte大小的MBR信息到指定文件

dd  if=/dev/hdx  of=/path/to/image  count=1  bs=512

(2)恢复 ##将备份的MBR信息写到磁盘开始部分

dd  if=/path/to/image  of=/dev/hdx

—————————————————————————————————————————-

4)备份软盘

##将软驱数据备份到当前目录的disk.img文件

dd if=/dev/fd0 of=disk.img count=1 bs=1440k

—————————————————————————————————————————-

5) 拷贝内存数据到硬盘

##将内存里的数据拷贝到backup目录下的mem.bin文件

dd if=/dev/mem of=/backup/mem.bin bs=1024

—————————————————————————————————————————-

6)将光盘制作成ISO镜像文件

##拷贝光盘数据到backup文件夹下,并保存为cd.iso文件,再进行刻录

dd  if=/dev/cdrom  of=/backup/cd.iso
cdrecord -v cd.iso

—————————————————————————————————————————-

2、增加swap分区文件大小

第一步:创建一个足够大的文件(250M)

dd if=/dev/zero of=/swapfile bs=1024 count=262144

第二步:把这个文件变成swap文件

mkswap /swapfile 

第三步:启用这个swap文件

swapon /swapfile

第四步:在每次开机的时候自动加载swap文件, 需要在 /etc/fstab 文件中增加一行

/swapfile swap swap defaults 0 0 

注意:查看当前swap使用情况,请查看文件/proc/swaps;创建交换分区其实还有另一种方法:fdisk指令法

—————————————————————————————————————————-

3、销毁磁盘数据

##利用随机的数据填充硬盘,在某些必要的场合可以用来销毁数据。执行此操作以后,/dev/hda1将无法挂载,创建和拷贝操作无法执行

dd if=/dev/urandom of=/dev/hda1

除非注明,文章皆由( csz )原创,转载请标明本文地址
本文地址: http://www.cszhi.com/20120129/dd.html

01-29
2012

发表评论