【Linux dd 命令】

1. 概述

最初为磁盘设备涉及的工具,也可在其他类型文件操作。

2. 参数说明

格式:dd if=输入文件 of=输出文件 [options]

我常用的命令:

sudo dd if=<firmware> of=/dev/sdx bs=1k seek=4 conv=fsync

其中:
if: 指定输入文件
of: 指定输出目标文件。
bs: 同时设置每次出入输出的大小。
上面几个比较常用。
还有几个:
seek-blocks: 从输出头文件跳过blocks个后开始复制。
skip=blocks:从输入头文件跳过blocks个后开始复制。

我有几个疑问:bs可以随便指定吗?

3. 常用参数解析

3.1 bs

bs决定了读取和写入的性能,影响完成dd命令的时间。经实验。如果bs指定为1,同样为4K字节的数据,传输时间比指定bs为1K时满了三倍。
选择合适的bs值通常需要在IO效率、内存占用和CPU使用之间进行权衡。

因为硬盘驱动器的扇区大小是512字节或4KB。如果你指定的 bs 大小与设备的扇区大小不匹配,dd 可能不会以最佳效率运行,因为它可能需要读取和写入额外的数据来适应扇区大小。

所以一般选择1K4K1M等作为bs的值。

3.2 count

count=100 : 实现将源文件的前100个块复制到目标文件。其中,块的大小是bs指定的。这个参数一般没用过,除非你先要复制的文件太大,或者只复制文件的前半部分的数据。

4. dd命令高级应用

dd可用于磁盘修复,数据销毁等操作,详见大佬博客

5. dd命令与cp命令的区别

  • 复制方式差别:cp需要依赖文件系统,它按照文件系统的结构和规则工作。而dd是内存块级别的擦除与写入操作,不关心死否有文件系统。
  • 适用场景:cp依赖于文件系统,所以不能复制特殊类型的文件或设备,比如/dev/sda 但是dd命令可以复制特殊类型的文件或设备。(这我不经常用嘛)
  • 数据恢复:(没用过)

因此,可以通过dd来进行磁盘备份或者数据恢复,举例如下:

dd if=/dev/sda of=/path/to/backup.img bs=1M // 备份磁盘内容到img文件
dd if=/path/to/backup.img of=/dev/sda bs=1M  // 恢复磁盘

6. 有哪些常用的设备文件?

/dev/zero:
/dev/urandom:
/dev/null:
/dev/random:
/dev/sd[a-z]:
/dev/mem:

相关推荐

  1. Linux命令:stat命令

    2024-07-16 18:30:02       50 阅读
  2. Linux命令:watch命令

    2024-07-16 18:30:02       30 阅读
  3. 命令模式(命令)

    2024-07-16 18:30:02       26 阅读
  4. git 命令

    2024-07-16 18:30:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 18:30:02       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 18:30:02       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 18:30:02       58 阅读
  4. Python语言-面向对象

    2024-07-16 18:30:02       69 阅读

热门阅读

  1. Mysql数据库(二)

    2024-07-16 18:30:02       19 阅读
  2. 前端HTML基础

    2024-07-16 18:30:02       17 阅读
  3. TypeScript

    2024-07-16 18:30:02       18 阅读
  4. Windows图形界面(GUI)-SDK-C/C++ - 窗口类注册和管理

    2024-07-16 18:30:02       21 阅读
  5. unseping

    unseping

    2024-07-16 18:30:02      22 阅读
  6. 【C语言高级指导】错误处理

    2024-07-16 18:30:02       22 阅读
  7. Unity七大原则

    2024-07-16 18:30:02       19 阅读
  8. C++ 入门14:STL 容器之向量(vector)

    2024-07-16 18:30:02       25 阅读
  9. GO—CPU占用高问题归类

    2024-07-16 18:30:02       20 阅读
  10. git流程及命令

    2024-07-16 18:30:02       16 阅读
  11. vue3上传图片,进行图片压缩(image-compressor.js)

    2024-07-16 18:30:02       22 阅读