关键词不能为空

当前您在: 主页 > 英语 >

ddif=devzeroof=的含义是什么linux下的dd命令使用详解

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-11 15:12
tags:

-

2021年2月11日发(作者:英语词库)


dd if=devzero of=


的含义是什 么?


Linux 


下的


dd


命令使用详解








一、


dd


命令的解释




dd


:用指定大小的块拷贝一个 文件,并在拷贝的同时进行指


定的转换。




注意:指定数字的地方若以下列字符结尾,则乘以相应的数< /p>


字:


b=512



c=1



k=1024


< p>
w=2



参数注释:




1. if=


文件名:


输入文件名,


缺省为标准输入。


即指定源文件。


< if=input file


>



2. of=


文件名:输出文件名, 缺省为标准输出。即指定目的


文件。


< of=output file


>



3. ibs=bytes



一次读入


bytes


个字节,


即指定一个块大小 为


bytes


个字节。





obs=bytes


:一次输出


bytes


个字节,即指定一个块大小为


bytes


个字节。





bs=bytes


:同时设置读入


/


输出的块大小为

bytes


个字节。




4. cbs=bytes


:一次转换


bytes


个字节,即指定转换缓冲区


大小。

< br>



5. skip=blocks

:从输入文件开头跳过


blocks


个块后再开始


复制。




6. se ek=blocks


:从输出文件开头跳过


blocks


个块后再开始


复制。




注意:通常只用当输出文件是磁盘或磁带时才有效,即备份< /p>


到磁盘或磁带时才有效。




7. count=blocks


:仅拷贝

blocks


个块,块大小等于


ibs

指定


的字节数。




8. conv=conversion


:用指定的参数转换文件。





ascii


:转换


ebcdic



ascii




ebcdic

:转换


ascii



ebcdic




ibm


: 转换


ascii



alternate ebcdic




block


:把每一行转换为长度为


cbs


,不足部分用 空格填充





unblock


:使每一行的长度都为


cbs


,不足部分用空格填充





lcase


:把大写字符转换为小写字符





ucase

< br>:把小写字符转换为大写字符





swab


:交换输入的每对字节





noerror


:出错时不停止





notrunc


:不截短输出文件





sync



将每个输入块填充到


ibs


个字节,


不足部分用空



NUL



字符补齐。



< p>
二、


dd


应用实例




1.


将本地的


/dev/hdb


整盘备份到


/dev/hdd




#dd


if=/dev/hdb of=/dev/hdd




2.



/d ev/hdb


全盘数据备份到指定路径的


image

< p>
文件





#dd


if=/dev/hdb of=/root/image




3.


将备份文件恢复到指定盘





#dd


if=/root/image of=/dev/hdb




4.


备份


/ dev/hdb


全盘数据,


并利用


gz ip


工具进行压缩,


保存


到指定路径< /p>





#dd


if=/dev/hdb | gzip > /root/




5.


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





#gzip


-dc /root/ | dd of=/dev/hdb




6.


备份与恢复


MBR



备份磁盘开始的


512


个字节大小的


MBR


信息到指定文件:





#dd


if=/dev/hda of=/root/image count=1 bs=512





count=1


指仅拷贝一个块;


bs=512


指块大小为


512


个字节。

< br>



恢复:





#dd


if=/root/image of=/dev/had




将备份的


MBR

信息写到磁盘开始部分




7.


备份软盘





#dd


if=/dev/fd0 of= count=1 bs=1440k (


即块大小为


1.44M)




8.


拷贝内存内容到硬盘





#dd


if=/dev/mem of=/root/ bs=1024 (


指定块大小为


1k)






9.< /p>


拷贝光盘内容到指定文件夹,并保存为



文 件





#dd


if=/dev/cdrom(hdc) of=/root/




10.


增加


swap


分区文件大小




第一步:创建一个大小为


256M


的文件:





#dd


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




第二步:把这个文件变成


swap< /p>


文件:





#mkswap


/swapfile




第三步:启用这个


swap


文件:





#swapon


/swapfile



< p>
第四步:


编辑


/etc/fstab


文件,


使在每次开机时自动加载


swap

< p>
文件:





/swapfile





swap





swap





default




0 0




11.


销毁磁盘数据





#dd


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




注意:利用随机的数据填充硬盘, 在某些必要的场合可以用


来销毁数据。




12.


测试硬盘的读写速度





#dd


if=/dev/zero bs=1024 count=1000000 of=/root/



#dd


if=/root/ bs=64k | dd of=/dev/null




通过以上两个命令输出的命令执行 时间,可以计算出硬盘的


读、写速度。




13.


确定硬盘的最佳块大小:





#dd


if=/dev/zero bs=1024 count=1000000 of=/root/



#dd


if=/dev/zero bs=2048 count=500000 of=/root/



#dd


if=/dev/zero bs=4096 count=250000 of=/root/



#dd


if=/dev/zero bs=8192 count=125000 of=/root/




通过比较以 上命令输出中所显示的命令执行时间,即可确定


系统最佳的块大小。



14.


修复硬盘:





#dd


if=/dev/sda of=/dev/sda



dd


if=/dev/hda of=/dev/hda




当硬盘 较长时间


(


一年以上


)


放置不使用后,磁盘上会产生


magnetic flux

< br>point


,当磁头读到这些区域时会遇到困难,并可能导致

I/O


错误。当这种情况影响到硬盘的第一个扇区时,可能导致硬

< br>盘报废。上边的命令有可能使这些数



据起死回生。并且这个过程是安全、高效的。




15.


利用


netcat


远程备份





#dd


if=/dev/hda bs=16065b | netcat < targethost-IP


> 1234




在源主机上执行此命令备份


/dev/hda




#netcat


-l -p 1234 | dd of=/dev/hdc bs=16065b




在目的主机上执行此命令来接收数据并写入


/dev/hdc




#netcat


-l -p 1234 | bzip2 >



#netcat


-l -p 1234 | gzip >




以上两条指令是目的 主机指令的变化分别采用


bzip2



gzip


对数据进行压缩,并将备份文件保存在当前目录。




将一个很大的视频文件中的第


i


个字节的值改成


0x41


(也就

< p>
是大写字母


A



ASCI I


值)


echo


A | dd of=bigfile seek=$$i bs=1 count=1 conv=notrunc


三、


/dev/null



/dev/zero


的区别




/dev/null


,外号叫无底洞,你可以向它输出任何数据,它通


吃,并且不会撑着!




/dev/zero


,是一个输入设备,你可你用它来初始化文件。该


设备无穷尽地提供


0


,可以使用任何你需要的 数目——设备


提供的要多的多。他可以用于向设备或文件写入字符串

0





/dev/null------


它是空设备,也称为位桶(


b it


bucket




任何写入它的输出都会被抛弃。


如果不想让消息以


标 准输出显示或写入文件,那么可以将消息重定向到位桶。





#if=/dev/zero


of=./ bs=1k count=1


#ls



l




total 4


-rw-r--r--





1


oracle




dba









1024 Jul 15


16:56




#find


/ -name


access_log



2>/dev/null




3.1


使用


/dev/null





/de v/null


看作



黑洞





它等价于一个只写文件, 所有写入


它的内容都会永远丢失


.


,< /p>


而尝试从它那儿读取内容则什么也


读不到。然而,



/dev/null


对命令行和脚本都非常的有用< /p>




l


禁止标准输出





#cat


$$filename >/dev/null



-


-


-


-


-


-


-


-



本文更新与2021-02-11 15:12,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/637192.html

ddif=devzeroof=的含义是什么linux下的dd命令使用详解的相关文章

ddif=devzeroof=的含义是什么linux下的dd命令使用详解随机文章