【linux】dd命令

目录

命令简介

命令格式

使用场景

注意事项


命令简介

1,用来复制和转换文件的命令行工具

2,dd命令可以以指定的块大小从输入文件读取数据,再根据要求以相同或不同的块大小将数据写入输出文件。

命令格式

dd  if=input-file   of=output-file   options说明if:输入文件of:输出文件options:指定一些额外的选项,比如指定块大小、偏移量等。

dd命令的一些常用选项包括:

- bs=:块的大小,单位BYTES字节,可加上如K、M、G等

- count=:要复制的块数为N个,每个块大小由bs参数确定

- skip=:从输入文件的起始位置跳过N个块后开始复制

- seek=:在输出文件中跳过N个块后开始写入数据

- iflag=:输入文件的选项,如direct、sync等

- oflag=:输出文件的选项,如direct、sync等

-status=progress 显示进度

通过使用这些选项,指定不同的复制和转换需求。需要注意的是,dd命令是一个强大而又危险的工具,因为它可以直接访问设备,所以在使用时要谨慎,避免误操作导致数据丢失。

使用场景

用于在低级别对数据进行复制和转换。以从指定的磁盘分区、文件等读取数据,写入到指定的输出目标,可用于包括备份、恢复、数据转换和系统维护等。

示例:

示例 1:创建磁盘镜像

dd if=/dev/sda   of=/path/to/backup.img

if是输入文件(input file)是整个硬盘/dev/sda;of输出文件是将要创建的磁盘映像文件backup.img

 

示例 2:恢复磁盘镜像

dd  if=/path/to/backup.img   of=/dev/sda

将映像文件中的数据恢复到硬盘/dev/sda中。

 

制作可启动USB驱动器:

dd   if=/path/to/linux.iso  of=/dev/sdb   bs=4M   status=progress


这里,ISO文件被直接写入指定的USB设备(这里假设为/dev/sdb),bs=4M 设置块大小为4MB以加快写入速度,status=progress用于显示写入进度。

 

示例 3:测试磁盘读写速度

time  dd if=/dev/zero  of=/tmp/testfile  bs=1G count=1  oflag=direct

创建一个 1GB 的文件 /tmp/testfile,并尝试以 1GB 的块大小直接写入磁盘(通过 oflag=direct)。time 统计时间,1G/time计算出写入速度。

示例 4:格式化转换

将一个 raw 磁盘镜像 rawdisk.img,转换为 VMDK 格式(用于 VMware)。虽然 dd 本身不直接支持格式转换,但你可以使用其他工具(如 qemu-img)与 dd 结合来实现这一目的。以下是一个概念性的例子:

ddif=rawdisk.img of=partition1.img bs=512 skip=63 count=xxx  # xxx 是分区的块数qemu-img convert -f raw -O vmdk partition1.img partition1.vmdk

 

注意事项

使用dd命令时需要特别小心,因为一个错误的命令可以完全擦除磁盘或造成不可逆的数据损失。始终确保你完全理解ifof参数指向的设备或文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/7374.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

远程代码/命令执行(RCE)

远程代码执行/远程命令执行(remote/code/execute||remote/command/execute) 类似sql注入xss等漏洞,rce也是代码注入(用户可控),注入对象为操作系统命令、后端代码,用户参 数可控,且未…

Python Web框架Django项目开发实战:创建在线学习应用

注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程:Python项目开发Django实战-创建在线学习应用-编程案例解析实例详解课程教程.pdf 在当今数字化教育飞速发展的时代,构建一个在线学习平台成为许多教育…

autoware.auto 安装 ROS2

先进行docker安装 sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [archamd64] https://download.docker.com/linux/u…

python基础---函数以及常用变量

函数及变量 函数 使用def关键字 在参数名前面的*表示args是一个可变参数 def add(*args):total 0for val in args:total valreturn total# 在调用add函数时可以传入0个或多个参数 print(add()) print(add(1)) print(add(1, 2)) print(add(1, 2, 3)) print(add(1, 3, 5, 7…

一份简历的制作

个人简历是求职者面试前最需要准备的一项工具。一份好的简历可以帮助求职者获得更多的面试机会,并且为面试时的表现奠定基础。以下介绍制作简历的几个注意点,仅供参考。 一、个人信息 姓名*性别联系方式 (手机号)电子邮箱&#…

【前端】HTML基础(2)

文章目录 前言一、HTML常见标签1、 注释标签1.1 标题标签1.2 段落标签1.3 换行标签 2、 格式化标签2.1 加粗标签2.2 倾斜标签2.3 删除线标签2.4 下划线标签 3、 图片标签3.1 src属性3.2 alt属性3.3 title属性3.4 图片大小3.5 图片边框 4、 超链接标签4.1 属性4.2 属性 前言 这篇…

Chromium编译指南2024 Windows11篇-配置depot_tools工具(二)

前言 在《Chromium编译指南2024(一)》我们探讨了Chromium编译前的准备工作和Visual Studio安装。 接下来,我们将详细介绍如何下载、解压并配置depot_tools工具,以便顺利进行后续的开发工作。 1. 下载解压depot_tools 包 下载d…

Python | Leetcode Python题解之第73题矩阵置零

题目: 题解: class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:m, n len(matrix), len(matrix[0])flag_col0 Falsefor i in range(m):if matrix[i][0] 0:flag_col0 Truefor j in range(1, n):if matrix[i][j] 0:matrix[i]…

学习 Rust 的第 17 天:如何使用traits定义抽象方法

大家好, 欢迎来到学习Rust的第17天,今天我们将研究Rust编程语言中的trait。 如果你还没有阅读昨天的文章,我建议你去读一下,因为我们今天学习的概念会建立在昨天学到的“通用类型”概念之上。 介绍 Rust中的trait定义了一组类…

DS:链表的分类

欢迎来到Harper.Lee的学习世界! 博主主页传送门:Harper.Lee的博客主页 想要一起进步的uu欢迎来后台找我哦! 链表的结构⾮常多样,以下情况组合起来就有8种(2 * 2 * 2)链表结构。下面我们依次来认识它们吧&am…

大数据面试题(十):Hive的高频面试考点(二)

文章目录 Hive的高频面试考点 一、请说明Hive中 sort by ,order by ,cluster by ,distribute by各代表什么意思

Mysql 8.0 -- 最新版本安装(保姆级教程)

Mysql 8.0 -- 最新版本安装(保姆级教程) ​​ 一,下载Mysql数据库: 官网链接:https://www.mysql.com/downloads/ 二,安装Mysql: 三,找到Mysql安装目录: 找到mysql安装目录&#xf…

【信息系统项目管理师知识点速记】资源管理:获取资源

获取资源:项目成功的关键 在项目管理中,获取资源是确保项目成功的关键步骤之一。本文将探讨获取资源的过程,包括输入、工具与技术以及输出。 输入 1. 项目管理计划 资源管理计划: 提供了如何获取项目资源的指南。成本基准: 提供了项目活动的总体预算。采购管理计划: 包…

攻防世界-NewsCenter

题目信息 分析过程 题目打开是有个输入框可以用来输入搜索信息,初步判断是个sql注入的题目。接下来判断能否进行sql注入: 输入 hi,有搜索结果,如下图: 输入hi’,无结果,如下图: 初步判定是hi‘后面还有单引…

MongoDB聚合运算符:$toHashedIndexKey

MongoDB聚合运算符:$toHashedIndexKey 文章目录 MongoDB聚合运算符:$toHashedIndexKey语法举例角度的双曲正切 $toHashedIndexKey计算并返回输入表达式的哈希值,其使用的哈希函数与MongoDB创建哈希索引相同。哈希函数将键值或字符串映射到固定…

设计模式(2)创造型设计模式

创建型模式 创建型模式1.工厂模式1.1 抽象工厂模式(Abstract factory)1.2 工厂方法模式(Factory Method)1.3 简单工厂模式(Simple Factory) 2. 建造者模式(Builder)3. 原型模式&…

PHP介绍

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:PHP❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、PHP是什么? 二、 PHP 文件是什么? 三、PHP能做什么? 四、P…

[Android]四大组件简介

在 Android 开发中,“四大组件”(Four Major Components)是指构成 Android 应用程序的四种核心组件,它们通过各自的方式与系统交互,实现应用的多样功能。这些组件是:Activity、Service、Broadcast Receiver…

音响的无源辐射器

定义: 无源辐射器通常被用来调整低音,使得设计者能够调节音箱整体的音色。无源辐射器在音箱内主动单元对箱体内空气的带动下进行被动发声。 通常使用无源辐射器来代替倒相管都是用以调节较小箱体的音质和使其具有更好的低音表现。尤其是在一些情况下&a…

6个月小猫成长必备!福派斯无麸质幼猫粮评测

你知道吗?给小猫选择适合的猫粮是一件非常不容易但很重要的事情。那么,对于6个月大的小猫来说,什么样的猫粮是最适合它们的呢?🐱 我们首先要考虑的是猫粮的营养成分。6个月大的小猫正处于快速生长期,所以需…