先简要介绍dd的参数,后边通过几个实例介绍dd的应用,参考了其他网友的资料,在此一并感谢
BSD爱好者乐园S'?H8W]J^][n
g-u)`:C小菜水平有限文中有什么错误请大家指正,关于dd还有什么好的使用方法,可以贴出来,小菜会及时更新
BSD爱好者乐园t3Y*K;[B
Oo0s]oUP|)nQ4xl6}6z/g)a;ddd 是 Linux/UNIX 下的一个非常有用的命令,作用是用指定大小的块拷贝一个
文件,并在拷贝的同时进行指定的转换。
BSD爱好者乐园obi`r~Nn3U{!b'OWz]1. 命令简介
"~TT;Ej|
@]Co,E4O&Y?O8v$jeddd 的主要选项:
BSD爱好者乐园1uj_%{asBBSD爱好者乐园5PE;]e._H8g%xn指定数字的地方若以下列字符结尾乘以相应的数字:
{
l RXO
FnBSD爱好者乐园Zk
Q%nU.XC6sL"u)Db=512, c=1, k=1024, w=2, xm=number m
BSD爱好者乐园 @!Oz$yU-t \wBSD爱好者乐园1zoR:\YI+lif=file
`(mCjCwBSD爱好者乐园B ok$A][uU y输入文件名,缺省为标准输入。
j"lyd$z7lg,X]H"Ng
?of=file
9]m4P0Kj!{+VD^ yT
SZ0S!d
]输出文件名,缺省为标准输出。
BSD爱好者乐园-yl*ac/Mb'r}&hBSD爱好者乐园I$E5@*y.p-D Sibs=bytes
]4E_.Br l'adp|Ui!@一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。
BSD爱好者乐园|/u|;i3w~6EE{d;pBSD爱好者乐园8eqyn~$xJG w(s2_obs=bytes
BSD爱好者乐园2sl+SKa$e&IBSD爱好者乐园S6M5}D@ ^0GY!w+Dm一次写 bytes 个字节(即一个块大小为 bytes 个字节)。
BSD爱好者乐园(f+Wl!e
{(H/fB;v8k`?9C`:j,}MBAZ(I/_#Jbs=bytes
BSD爱好者乐园 m9?7p6St-i4n*]vX2fM ^H同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。
BSD爱好者乐园0cQ'P%`XZ?nA@(d0VYBcbs=bytes
BSD爱好者乐园
J+^\5YI-d%z JBSD爱好者乐园/}I*U b^&^ S+Z一次转换 bytes 个字节,即转换缓冲区大小。
BSD爱好者乐园)jhZ-~B7Y(I.xBSD爱好者乐园.{ };B/g2m+Askip=blocks
BSD爱好者乐园Ry_g3c8{1`tBSD爱好者乐园j?.t#k1t从输入文件开头跳过 blocks 个块后再开始复制。
n|[&Q2`9}#aBSD爱好者乐园PP"FhUX E1rseek=blocks
,q+~q9v"_~
{5d+m$_*Vd3G7zJ
W从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效)。
i2\&R7a1Y
c7J1xBSD爱好者乐园
n
_2z{"b a"?`count=blocks
BSD爱好者乐园
}
ypGRBSD爱好者乐园kk;Hw*}
MM仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。
BSD爱好者乐园?Zi$P+V sWn1S"pp dfa`M!^conv=conversion[,conversion...]
BSD爱好者乐园Al o](MK8FfBSD爱好者乐园;f)|+D:P3|K,M用指定的参数转换文件。
BSD爱好者乐园A-bz-E:ZIhNo ^9AS#Vj$g转换参数:
\J~!})r;s|?XBSD爱好者乐园 @kY A#n+G6Aascii 转换 EBCDIC 为 ASCII。
]6Ku j,ygh7Z7I-o wUc.ypebcdic 转换 ASCII 为 EBCDIC。
BSD爱好者乐园7d+k"YH6[1Wv#cBSD爱好者乐园
q6Fw"fg3pC"c~-|8~sibm 转换 ASCII 为 alternate EBCDIC.
BSD爱好者乐园~.Gg+Ixs
p
PiBSD爱好者乐园mX.J"u \NP9TY(?:[-Nblock 把每一行转换为长度为 cbs 的记录,不足部分用空格填充。
BSD爱好者乐园XO}
? r)vHBSD爱好者乐园7aD8Iw9K4c u5~dunblock 使每一行的长度都为 cbs ,不足部分用空格填充。
iig#})w9qW
G0|#B];vW}A2~lcase 把大写字符转换为小写字符。
BSD爱好者乐园 tu(^svm&n}&qPgI)OG;x&W)A,t*oucase 把小写字符转换为大写字符。
1b1K4n0BSRTc7YBSD爱好者乐园bW0j#Z \swab 交换输入的每对字节。
BSD爱好者乐园)zP1Qm`s u1Q"ut
D*r-m
O {4}noerror 出错时不停止。
BSD爱好者乐园'G{1|ny6m/_VBSD爱好者乐园 k6{3X:__notrunc 不截短输出文件。
BSD爱好者乐园{eL9vVf4Tf
c(i&[c6H@ i_Rg$xsync 把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
BSD爱好者乐园Yw+IsL1r(dyu*k\+|+}BSD爱好者乐园SzR3O[(|%G*|2LWG j.rG
b2.实例分析
4}JD;W.[*EG2n ]VBSD爱好者乐园J,Xf!pE 2.1.数据
备份与恢复
J8Oh*P'B6V.rr(["cBSD爱好者乐园?wPZ/WG2.1.1整盘数据备份与恢复
BSD爱好者乐园
Sl O1\~!v"T3y2dBSD爱好者乐园}E%bTK
Di![备份:
BSD爱好者乐园F.b&Vw|uBSD爱好者乐园+rQ$U6wa-n
f+gdd if=/dev/hdx of=/dev/hdy
BSD爱好者乐园 U4D9v^0b+c Z#tE~H-O__cp%j.o
z-m8|G将本地的/dev/hdx整盘备份到/dev/hdy
BSD爱好者乐园r:b8O
X(K g jk7HBSD爱好者乐园:\BJS]%c(OiBSD爱好者乐园
g(U?"Af,m:z cdd if=/dev/hdx of=/path/to/image
BSD爱好者乐园y C3a7E;I7C1qBSD爱好者乐园~)d#t.n6d!^*P*ug将/dev/hdx全盘数据备份到指定路径的image文件
BSD爱好者乐园0m"z4QCsq8tBSD爱好者乐园U$\N"N)bSj/[d,m}mfdd if=/dev/hdx | gzip >/path/to/image.gz
sg S4sv%HRp)A}BSD爱好者乐园q4Tp'Tsdp"e备份/dev/hdx全盘数据,并利用gzip工具进行压缩,保存到指定路径
BSD爱好者乐园6~(?1tX\X恢复:
3B5JGT5uX1R5[)lO3r;?8rdd if=/path/to/image of=/dev/hdx
BSD爱好者乐园3PLv,~N3G4eBSD爱好者乐园 X/O,O0M3Bb_8g将备份文件恢复到指定盘
BSD爱好者乐园!~.LG
gw&Q3@Z"x
Fa CBSD爱好者乐园S6Oe4a.px0ugzip -dc /path/to/image.gz | dd of=/dev/hdx
BSD爱好者乐园#a
Vp;EW-?Fv(~2u3\BSD爱好者乐园!l9a+YB8?;O{5q W将压缩的备份文件恢复到指定盘
BSD爱好者乐园9qd9y:QsBSD爱好者乐园:Ft9ryh!DX3XY8]%n;J/`BSD爱好者乐园?Ay;gMl p\C'@#~2.1.2.利用netcat远程备份
;cw.^j&vTvK?{zy&vH1hkR]
J9Un(cN&Xdd if=/dev/hda bs=16065b | netcat < targethost-IP > 1234
vpl"J1}#in| ]
Y,XwBSD爱好者乐园sm\hS w6}在源主机上执行此命令备份/dev/hda
BSD爱好者乐园5Dx8S
jIN6Q|o&^0GBSD爱好者乐园}M}$e3t9Fd T*aP#F(i3v2Unetcat -l -p 1234 | dd of=/dev/hdc bs=16065b
BSD爱好者乐园,Ooi6t c~1}`"R7N;]c(c1P9s
@vN0R(lD在目的主机上执行此命令来接收数据并写入/dev/hdc
3\:MrKI6S,`#kBSD爱好者乐园-c]0P_[CTBSD爱好者乐园3~
S(Ki~3p/_0E:e
TxRKnetcat -l -p 1234 | bzip2 > partition.img
BSD爱好者乐园DF\7UQ netcat -l -p 1234 | gzip > partition.img
$i7`^k%db:B;X;g-~BSD爱好者乐园sx#k@:ad以上两条指令是目的主机指令的变化分别采用bzip2 gzip对数据进行压缩,并将备份文件保存在当前目录。
BSD爱好者乐园V
`#M
y/t-B2O5G$k.L*\BSD爱好者乐园Il*mM!o$O+u2.1.3.备份MBR
2iI4f:?"NYgL2Q2N