LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 04-05-18, 22:18 第 1 帖
gao_linfeng
 
gao_linfeng 的头像
 
 
注册会员  
  注册日期: Nov 2003
  我的住址: China.ln.yk
  帖子: 1,047
  精华: 5
 

标题: 终于实现了,我可以用dd命令去备份文件指定的部分了。


终于实现了,我可以用dd命令去备份文件指定的部分了。

举例说明:假如我有一个文件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

这时你查看一下恢复的文件将和你原来的文件一模一样,说明备份成功!

***说明一下:***
bs=xxx这个选项是指你要备份时一次性创建的块大小,而count=xxx则是指从备份的开头开始算总共备份多少块.
也就是说假如你的bs=3k而count=5,则说明你一个块为3k,总共5个块,则备份了原文件的15k(3k*5=15k).
而skip=xxx则是在备份时对if后面的部分也就是原文件跳过多少块再开始备份,相反seek=xxx则是在备份时对of后面的部分也就是目标文件跳过多少块再开始写。

我是这样实现的,成功了,有不当之处望指出!谢谢!







__________________
I like GNU/GPL/Open/Free/Linux!
越来越喜欢debian了,喜欢他的自由精神,喜欢他的一切!

此帖于 07-05-16 13:41 被 gao_linfeng 编辑.
  gao_linfeng 当前离线   回复时引用此帖
旧 04-05-18, 22:37 第 2 帖
home_king
 
home_king 的头像
 
 
临时退役版主  
  注册日期: Mar 2003
  帖子: 2,759
  精华: 15
 

嗯,dd本来就是Unix备份的传统工具。它的好处在于无需考虑备份文件所在的文件系统以及其本身文件结构。







__________________
IBOX, a LiveCD distribution based on Gentoo, is fit for newbie.

IBOX brings to you:
- knoppix-style harddisk installation tool, by which you can install Gentoo in 20 minutes.
- hardware auto-configuration. You can run into X desktop directly.
- all-round software set, including OpenOffice, azureus.
- LiveCD-create-tools. Step-by-step, custom a LiveCD yourself with ease.

Any questions and feedbacks is welcome to home_king at 163 dot com
  home_king 当前离线   回复时引用此帖
旧 04-05-18, 22:41 第 3 帖
gao_linfeng
 
gao_linfeng 的头像
 
 
注册会员  
  注册日期: Nov 2003
  我的住址: China.ln.yk
  帖子: 1,047
  精华: 5
 

是呀,dd功能强大,无用拷到文件系统,也不管是备份文件还是备份分区或整个硬盘,总之只是硬盘上的东东都行,但实现我说的那个我费挺大个劲才弄成,主要是不明seek skip count bs这些选项。这还要感谢java兄,是他给我一个教程看了以后我才有启发的。
  gao_linfeng 当前离线   回复时引用此帖
旧 04-05-18, 23:05 第 4 帖
home_king
 
home_king 的头像
 
 
临时退役版主  
  注册日期: Mar 2003
  帖子: 2,759
  精华: 15
 

引用:
最初由 gao_linfeng 发表
是呀,dd功能强大,无用拷到文件系统,也不管是备份文件还是备份分区或整个硬盘,总之只是硬盘上的东东都行,但实现我说的那个我费挺大个劲才弄成,主要是不明seek skip count bs这些选项。这还要感谢java兄,是他给我一个教程看了以后我才有启发的。
呵呵,其实要学会养成阅读man手册或者--help输出才行,这才是学习正道。
至于dd命令,dd --help即可得到这几个选项的概要描述,已经够用了。我之前备份软盘时,也是快速浏览了一下这个--help输出。
  home_king 当前离线   回复时引用此帖
旧 04-05-19, 00:38 第 5 帖
Hauser
 
Hauser 的头像
 
 
注册会员  
  注册日期: Jul 2003
  我的住址: 梦乡
  帖子: 1,669
  精华: 4
 

引用:
最初由 gao_linfeng 发表
总之只是硬盘上的东东都行
Then how about this:
# dd if=/dev/cdrom of=cdimg.iso







__________________
Athlon XP 2600+; 512M RAM;
nVidia FX5700LE; Hitachi 120Gb
2.6.8.1-nitro6+FBSplash; XOrg+KDE3.3.0; Reiser4;
昔我往矣,杨柳依依。今我来思,雨雪霏霏。
行道迟迟,载渴载饥。我心伤悲,莫知我哀
  Hauser 当前离线   回复时引用此帖
旧 04-05-19, 03:54 第 6 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

socket file 很奇怪??
代码:
# file unixs unixs: socket # du -s unixs 0 unixs
没有size ?
  home 当前离线   回复时引用此帖
旧 04-05-19, 05:17 第 7 帖
晨想 帅哥
 
晨想 的头像
 
 
资深版主  
  注册日期: Feb 2003
  我的住址: P.R.China
  帖子: 9,637
  精华: 9
 

socket,你就当是一个***就是了,当然没大小。写进去的东西,如果不监听,就直接丢弃。







__________________
我的wiki: http://wiki.linuxgnu.org

马甲Show:终极幻想 黯然销魂 DawnFantasy FinalFantasy ArmageddonMa
  晨想 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:34


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org