加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

Linux dd命令,希望不常用,但非常有用的命令~

05/16 15:22
587
阅读需 5 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

哈喽,大家好,我是程序员秘书LittleG。

dd 命令在 Linux 中是一个非常强大的工具,用于复制和转换文件,主要用于低级复制和转换,特别是当涉及块设备(如硬盘分区)时。

这是一个希望不常用,但是非常有用的命令~

因为一般当要用到这个命令时,大概率问题都比较难搞了~

dd 命令的语法和参数比较灵活,也正是因为这样,往往对于刚接触这个命令的同学来说都比较困惑,到底怎么用。今天就学习一下这个命令基本语法,和举例说明一下如何使用。

正文

基本语法:

dd if=/path/to/input_file of=/path/to/output_file [options]

其中:

if 代表输入文件(input file)。指定输入文件。如果不指定,dd 将默认从标准输入(stdin)读取数据。

of 代表输出文件(output file)。指定输出文件。如果不指定,dd 将默认向标准输出(stdout)写入数据。

常用选项:

bs=BYTES:设置块大小(以字节为单位)。这个值决定了 dd 在每次迭代中处理的数据量。默认是 512 字节。例如,bs=1M 表示块大小为 1MB。

count=BLOCKS:复制块的数量。如果指定了块大小,这个参数将限制复制的块数。

skip=BLOCKS:跳过输入文件开头的指定块数。

seek=BLOCKS:在输出文件中跳过开头的指定块数。

conv=conversion[,conversion...]:指定数据转换。例如,conv=notrunc,sync 可以防止输出文件被截断,并确保数据同步到磁盘。

iflag=FLAGS 和 oflag=FLAGS:设置输入和输出文件的标志。

status=noxfer:不显示传输了多少字节。

举例说明:

创建一个 1GB 的空文件:

dd if=/dev/zero of=testfile bs=1M count=1024

备份 /dev/sda 的前 10MB 到 backup.img

dd if=/dev/sda of=backup.img bs=1M count=10

注意:直接对硬盘分区(如 /dev/sda)使用 dd 命令是非常危险的,因为它会覆盖数据。确保你知道自己在做什么,并始终备份重要数据。

从 image.img 恢复数据到 /dev/sdb1 分区(这将覆盖 /dev/sdb1 上的所有数据!):

dd if=image.img of=/dev/sdb1 bs=4M

跳过输入文件的前 512 个字节(例如,跳过 MBR):

dd if=/dev/sda skip=1 of=image.img

使用 sync 标志来确保所有数据都被写入输出文件(尽管这在某些系统上可能是默认行为):

dd if=/path/to/input of=/path/to/output conv=sync

使用 status=progress 来显示进度(在某些版本的 dd 中可用):

dd if=/path/to/input of=/path/to/output bs=1M status=progress

注意: dd 命令非常强大,误用可能导致数据丢失。使用 dd 时要非常小心,在执行任何涉及修改磁盘或分区的操作前,务必确认目标设备正确无误,并已做好数据备份。尤其调试疑难不好复现的问题时,得特别小心操作,防止破坏现场。

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
TJA1051T/3/2Z 1 NXP Semiconductors Interface Circuit
$9.33 查看
AFBR-5803AZ 1 Foxconn Transceiver, 1270nm Min, 1380nm Max, 125Mbps(Tx), 125Mbps(Rx), SC Connector, Through Hole Mount, ROHS COMPLIANT, SIP-9
$41.34 查看
ECS-.327-12.5-34B-C-TR 1 ECS International Inc Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下载ECAD模型
$0.74 查看

相关推荐

电子产业图谱

记录和分享C/C++、Linux、ARM、Android、IoT相关知识。技术相伴于生活和成长,愿你我永为少年,心中有火,眼中有光,始保热情。