Chinaunix首页 | 论坛 | 博客
  • 博客访问: 645970
  • 博文数量: 197
  • 博客积分: 4858
  • 博客等级: 上校
  • 技术积分: 2162
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-06 22:46
文章分类

全部博文(197)

文章存档

2011年(30)

2010年(21)

2009年(25)

2008年(80)

2007年(41)

分类: LINUX

2008-12-31 09:29:25

简介

[root@linux ~]# dd if="input_file" of="output_file" bs="block_size" \

count="number"

参数:

if   :就是 input file 啰~也可以是装置喔!

of   :就是 output file 喔~也可以是装置;

bs   :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes

count:多少个 bs 的意思。

范例:

 

范例一:将 /etc/passwd 备份到 /tmp/passwd.back 当中

[root@linux ~]# dd if=/etc/passwd of=/tmp/passwd.back

3+1 records in

3+1 records out

[root@linux ~]# ll /etc/passwd /tmp/passwd.back

-rw-r--r--  1 root root 1746 Aug 25 14:16 /etc/passwd

-rw-r--r--  1 root root 1746 Aug 29 16:57 /tmp/passwd.back

# 仔细的看一下,我的 /etc/passwd 档案大小为 1746 bytes,因为我没有设定 bs

# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的

# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!

# 事实上,感觉好像是 cp 这个指令啦~

 

范例二:备份 /dev/hda MBR

[root@linux ~]# dd if=/dev/hda of=/tmp/mbr.back bs=512 count=1

1+0 records in

1+0 records out

# 这就得好好了解一下啰~我们知道整颗硬盘的 MBR 512 bytes

# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将

# MBR 内的所有数据都纪录下来,真的很厉害吧! ^_^

 

范例三:将整个 /dev/hda1 partition 备份下来。

[root@linux ~]# dd if=/dev/hda1 of=/some/path/filename

# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~

# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~

# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,

# 则可以利用 dd if=/some/file of=/dev/hda1 来将数据写入到硬盘当中。

# 如果想要整个硬盘备份的话,就类似 Norton ghost 软件一般,

# disk disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!

 

你可以说, tar 可以用来备份关键数据,而 dd 则可以用来备份整颗 partition 或 整颗 disk ,很不错啊~不过,如果要将数据填回到 filesystem 当中,可能需要考虑到原本的 filesystem 才能成功!

 

阅读(1008) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~