大家好,又见面了,我是你们的朋友全栈君。
学习于:http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html
一、dd命令的解释
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
- if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
- of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
bs=bytes:同时设置读入/输出的块大小为bytes个字节。 - cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
- skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
- seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。 - count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
-
conv=conversion:用指定的参数转换文件。
ascii:转换ebcdic为ascii
ebcdic:转换ascii为ebcdic
ibm:转换ascii为alternate ebcdic
block:把每一行转换为长度为cbs,不足部分用空格填充
unblock:使每一行的长度都为cbs,不足部分用空格填充
lcase:把大写字符转换为小写字符
ucase:把小写字符转换为大写字符
swab:交换输入的每对字节
noerror:出错时不停止
notrunc:不截短输出文件
sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。busybox dd if=/dev/zero of=/dev/block/mmcblk0 bs=512 seek=1 count=1 conv=sync
解释:
f=/dev/zero:输入文件名为/dev/zero
of=/dev/mmcblk0:输出文件名为/dev/mmcblk0
bs=512:读块和写块的大小都为512B(这里的输出文件为一个块设备,块大小的设置跟块设备中每块的大小相关)
seek=1:跳过第一个块
count:只拷贝一个块
conv:若读取的输入块不足512B,那么不足的部分填充NUL
sudo dd iflag=dsync oflag=dsync if=sd.bin of=/dev/sdb seek=1
解析:
iflag=dsync:表示输入文件读取时不经过缓冲区,一块一块地读取(块的大小为缓冲区大小),直到读取完成。
oflag=dsync:表示输出文件不经过缓冲区,来一块,写入一块。
if=210.bin:表示输入文件为210.bin
of=/dev/sdb:表示输出文件为sd卡
seek=1:表示跳过第0块,从第1块开始写入
oflag=dsync、conv=sync的区别就相当于用不用缓冲区FIFO的区别一样,如果不想用缓冲区就一定要使用oflag指定参数。
详情介绍点此跳转:http://blog.csdn.net/menogen/article/details/38059671
作者:种瓜大爷
来源:CSDN
原文:https://blog.csdn.net/czg13548930186/article/details/78608034
版权声明:本文为博主原创文章,转载请附上博文链接!
转载于:https://blog.51cto.com/13637805/2358615
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106948.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...