Linux dd命令详解[通俗易懂]

Linux dd命令详解[通俗易懂]Linux dd命令详解

大家好,又见面了,我是你们的朋友全栈君。

学习于:http://blog.sina.com.cn/s/blog_8b5bb24f01016y3o.html

一、dd命令的解释

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;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个字节,即指定转换缓冲区大小。
  5. skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
  6. seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
    注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
  7. count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
  8. 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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/106948.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux wifi驱动框架_嵌入式Linux驱动开发教程

    linux wifi驱动框架_嵌入式Linux驱动开发教程对于SDIO接口的wifi,首先,它是一个sdio的卡的设备,然后具备了wifi的功能,所以,注册的时候还是先以sdio的卡的设备去注册的。然后检测到卡之后就要驱动他的wifi功能了,显然,他是用sdio的协议,通过发命令和数据来控制的。下面先简单回顾一下SDIO的相关知识:一、SDIO相关基础知识解析1、SDIO接口    SDIO故名思义,就是SD的I/O接口(in

    2022年10月3日
    2
  • 解决failed to execute [‘dot’, ‘-Tsvg’], make sure the Graphviz executables are on your systems

    解决failed to execute [‘dot’, ‘-Tsvg’], make sure the Graphviz executables are on your systems在用python可视化.dot文件时,遇到了ExecutableNotFound:failedtoexecute[‘dot’,‘-Tsvg’],makesuretheGraphvizexecutablesareonyoursystems的报错。起初以为原因是未安装graphviz模块,pip一下发现还是不行,后来才发现需要先安装graphviz程序,才能为python安…

    2025年7月14日
    4
  • matlab矩阵的定义和运算「建议收藏」

    转载http://blog.csdn.net/perfumekristy/article/details/8119861一、矩阵的表示在MATLAB中创建矩阵有以下规则:a、矩阵元素必须在”[]”内;b、矩阵的同行元素之间用空格或逗号隔开;c、矩阵的行与行之间用”;”(或回车符)隔开;d、矩阵的元素可以是数值、变量、表达式或函数;

    2022年4月6日
    218
  • onedrive自动同步_onedrive没有同步

    onedrive自动同步_onedrive没有同步Zotero管理文献时,经常需要同步不同设备的文献到Zotero云端以保持版本统一,但是Zotero提供的免费空间不够用来同步大量pdf附件。这时,可以使用第三方云平台来实现同步,比如坚果云,onedrive等。这里,我用onedrive来存储Zotero的pdf文件。………

    2022年9月8日
    1
  • Django(18)聚合函数

    Django(18)聚合函数前言orm模型中的聚合函数跟MySQL中的聚合函数作用是一致的,也有像Sum、Avg、Count、Max、Min,接下来我们逐个介绍聚合函数所有的聚合函数都是放在django.db.models

    2022年7月28日
    4
  • 遗传算法原理及算法实例分析_遗传算法案例分析

    遗传算法原理及算法实例分析_遗传算法案例分析遗传算法原理解析遗传算法(GA)是一种元启发式自然选择的过程,属于进化算法(EA)大类。遗传算法通常是利用生物启发算子,如变异、交叉和选择来生成高质量的优化和搜索问题的解决方案。借鉴生物进化理论,遗传算法将问题模拟成一个生物进化过程,通过复制、交叉、突变等操作产生下一代的解,并逐步淘汰适应度函数值低的解,增加适应度函数高的解。这样进化N代后就很有可能会进化出适应度函数值很高的个体。

    2022年9月13日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号