shell:dd命令使用详解

1、介绍

dd命令是一款在Unix和类Unix系统中常用的命令行工具,用于转换和复制文件或块设备。

用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。

该命令提供了很多的参数选项,使用户可以根据需要执行各种复制或转换操作。下面详细介绍一下dd命令的使用。

2、基本语法

dd [参数选项]

dd: device-to-device copy, 用来转换和复制文件。

dd主要用来在像磁带或者软盘驱动器之类的设置之间复制文件。

dd可以在不同操作系统间传递信息。

3、参数选项

- bs=n    (block size)每次读写n个字节,该参数将覆盖参数ibs和obs的设置。

-ibs=n    (input block size)每次读n个字节 即指定一个块大小为n个字节。

-obs=n    (output block size)每次写n个字节

- if=输入文件:指定输入文件,可以是普通文件或设备文件

                        缺省为标准输入。即指定源文件。< if=input file >

- of=输出文件:指定输出文件,可以是普通文件或设备文件

                          缺省为标准输出。即指定目的文件。< of=output file >

- count=numblocks:将dd要复制的块数限制在numblocks之内。

                                 每个块的大小是由ibs参数指定的字节数。

-cbs=n             (conversion block size)当进行复制的过程中要数据转换时,每次转换n个字节

- skip=numblocks:在开始复制前,跳过输入的numblocks个块。

                               每个块的大小由参数ibs指定的字节数。

- seek=numblocks:在开始写之前,跳过输出的numblocks个块。

                                 每个块的大小由参数obs指定的字节数。

- status=标志:显示操作进度和统计信息。

- conv=转换选项:指定要应用的转换操作,转换被复制的数据。

        ascii:转换ebcdic为ascii

        ebcdic:转换ascii为ebcdic

        ibm:转换ascii为alternate ebcdic

        block:每次输入的一行(换行符结束)被读取,输出不带换行符的文本块;每个输出快的大小由参数obs或者bs指定,如果输入的内容达不到该字节数,那么用空格字符来填充。

        unblock:使每一行的长度都为cbs,不足部分用空格填充

        lcase:把大写字符转换为小写字符

        ucase:把小写字符转换为大写字符

        swab:交换输入的每对字节

        noerror:出错时不停止

        notrunc:不截短输出文件,在写文件前,不截短文件

        sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。

4、实例

4.1 复制文件

将一个文件复制到另一个位置

dd if=input.txt of=output.txt

如果输入文件很大,可以通过指定块大小和块数来加快复制速度

dd if=input.txt of=output.txt bs=4096 count=100

4.2 复制设备

将一个设备的内容复制到另一个设备

dd if=/dev/sda of=/dev/sdb

4.3 创建空文件

可以使用dd命令创建一个指定大小的空文件,例如,要创建一个大小为1GB的空文件,可以执行:

dd if=/dev/zero of=file.txt bs=1G count=1

4.4 转换文件格式

将一个windows下的文本文件进行转换,小写字母转换为大写字母(upper)

dd if=win.txt of=unix.txt conv=ucase

4.5 备份

备份磁盘开始的512个字节大小的MBR信息到指定文件:

1

dd if=/dev/hda of=/root/image count=1 bs=512

   count=1指仅拷贝一个块;bs=512指块大小为512个字节。

4.6 粉碎文件

用户可以采用类似方法在删除某个文件之前将文件中的数据进行清理,如此使得恢复被删除文件几乎是不可能的事情。处于对安全性的考虑,用户可以粉碎文件。

[kdvmt@dell:~/myfile]$ ll
总用量 12
drwxrwxr-x 2 kdvmt kdvmt 4096 12月 15 16:33 ./
drwxrwxr-x 6 kdvmt kdvmt 4096 12月 14 20:44 ../
-rwxrwxrwx 1 kdvmt kdvmt   38 12月 15 16:33 secret*
[kdvmt@dell:~/myfile]$ dd if=/dev/urandom of=secret bs=1 count=38 conv=notrunc
记录了38+0 的读入
记录了38+0 的写出
38 bytes copied, 0.000698812 s, 54.4 kB/s
[kdvmt@dell:~/myfile]$ rm secret 

先看出secret文件大小是38,然后用dd粉碎文件,块大小是1,count为secret的大小。

参数conv=notrunc确保dd恰好覆盖文件中的数据,而不覆盖磁盘其他的位置。

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

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

相关文章

充电桩,未来出行的绿色引擎

随着新能源时代的到来&#xff0c;充电桩早已不再是一个陌生的词汇&#xff0c;它正在成为我们生活中不可或缺的一部分。 它不仅仅是一个简单的充电设备&#xff0c;更是未来出行的绿色引擎&#xff0c;驱动着我们的汽车&#xff0c;也驱动着这个时代的绿色梦想。 想象一下&am…

leetcode 9 回文数

给你一个整数 x &#xff0c;如果 x 是一个回文整数&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 回文数是指正序&#xff08;从左向右&#xff09;和倒序&#xff08;从右向左&#xff09;读都是一样的整数。 例如&#xff0c;121 是回文&#xff0c;而…

人工智能术语

1、人工智能的概念 人工智能概念&#xff0c;在1956年召开的达特茅斯会议上正式被提出。该会议是由信息学鼻祖克劳德.艾尔伍德.香农(ClaudeElwoodShannon)以及马文.明斯基(Marvin Minsky)、约翰.麦卡锡(JohnMcCarthy)等十位信息学、数学、计算机学的科学先驱&#xff0c;在美国…

智谱AI 发布最新开源模型GLM-4-9B,通用能力超Llama-3-8B,多模态版本比肩GPT-4V

自 2023 年 3 月 14 日开源 ChatGLM-6B 以来&#xff0c;GLM 系列模型受到广泛关注和认可。特别是 ChatGLM3-6B 开源以后&#xff0c;开发者对智谱AI 第四代模型的开源充满期待。 为了使小模型&#xff08;10B 以下&#xff09;具备更加强大的能力&#xff0c;GLM 技术团队进行…

react点击复制数据

主要是用浏览器原生剪贴板 navigator.clipboard.writeText API <div onClick{()>{handleCopyKey(这是要复制的内容)}}>这是要复制的内容</div> const handleCopyKey async (item:string)>{try {await navigator.clipboard.writeText(item);message.success…

[高频]Linux中常见的命令及常见面试题

1. ls&#xff1a;查看当前目录下的文件和子目录 2. cd&#xff1a;切换目录 3. pwd&#xff1a;显示当前所在的目录 4. mkdir&#xff1a;创建目录 5. rm&#xff1a;删除文件或目录 6. cp&#xff1a;复制文件或目录 7. mv&#xff1a;移动文件或目录 8. cat&#xff1a;查看…

Python实现连连看8

4 游戏开始 连连看游戏实际上主要完成的是对玩家鼠标点击事件的处理,也就是对鼠标点击事件的响应。 4.1 添加鼠标点击事件响应 在“1.3.4 在窗口上铺设画布”中提到的将画布pack()到窗口代码之前,写入如下代码,其功能是为鼠标点击事件添加响应。 canvas.bind(<Button…

【操作系统】中断

在操作系统中&#xff0c;中断是一种机制&#xff0c;用于处理来自硬件或软件的异步事件。中断允许设备或任务以事件驱动的方式与操作系统进行交互&#xff0c;使操作系统能够适时地响应和处理这些事件。 当发生一个中断事件时&#xff0c;操作系统会立即中断正在执行的任务并转…

如何从微软官方下载Edge浏览器的完整离线安装包

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 正文内容 📒🚀 官方直链下载🚬 手动选择下载🎈 获取方式 🎈⚓️ 相关链接 ⚓️📖 介绍 📖 在网上搜索Microsoft Edge浏览器的离线安装包时,很多用户都会发现大部分都是在线安装包,无法满足他们在无网络环境下进…

DLL文件修复dffsetup3.3.90,带Keygen

之前分享过DirectX与4DDiGDLLFixer&#xff0c;今天再分享一款&#xff0c;名字叫DLLfiles Fixer&#xff0c;中文版带key你懂的&#xff0c;对于玩游戏人来说&#xff0c;经常因为少了某个dll文件无法运行&#xff0c;DLL-files Fixer能够非常方便的修复。 软件功能 可以消除…

俯视角2D游戏_03 伤害数字容器

制作思路 要创建伤害数字容器需要做以下三件事 创建伤害数字的UI控件(并添加动画效果)创建盛放伤害数字UI的容器应用伤害到伤害数字UI 调用关系 敌人蓝图——>伤害数字容器——>伤害数字UI 详细制作案例 [!NOTE] 需求简述 制作一个拥有动态效果的伤害数字UI&#xff0c…

使用Python实现深度学习模型:Transformer模型

Transformer模型自提出以来&#xff0c;已经成为深度学习领域&#xff0c;尤其是自然语言处理&#xff08;NLP&#xff09;中的一种革命性模型。与传统的循环神经网络&#xff08;RNN&#xff09;和长短期记忆网络&#xff08;LSTM&#xff09;不同&#xff0c;Transformer完全…

BIM分析简明教程

大多数建筑师和工程师都会遇到过建筑信息模型 (BIM) 的概念。 这是一种可以为你的公司带来巨大利益的方法。 建筑信息模型允许你集中项目的信息。 你可以将所有相关数据集中到一个数据库中&#xff0c;而不是处理大量文档。 这样做的好处是显而易见的。 随着你的项目变得越来越…

SQL自动发送邮件的方法有哪些?如何配置?

SQL自动发送邮件设置时的注意事项&#xff1f;邮件群发如何操作&#xff1f; 在现代企业中&#xff0c;自动化流程越来越普遍&#xff0c;SQL自动发送邮件作为其中一项重要功能&#xff0c;能够大大提高工作效率并简化数据管理流程。AokSend将介绍几种实现SQL自动发送邮件的方…

JVM基础知识

一、JVM的内存区域划分 一个进程在运行的时候,会向操作系统申请到内存资源,从来存放程序运行的相关数据。 JVM本质上就是一个java进程,在运行的时候也会从操作系统那搞一块内存&#xff0c;供Java代码执行使用。 JVM又把申请的一块内存根据不同的用途划分出了不同区域。 每一…

酷我音乐 v10.8.2.1 解索SVIP版,畅享无界音乐盛宴!

酷我音乐 v10.8.2.1 解索SVIP版 酷我音乐&#xff0c;一款多功能音乐软件&#xff0c;集成了音乐播放、歌曲下载、歌词同步、在线电台等多项服务。该应用致力于提供高品质的音乐欣赏体验和独特的音乐探索机会&#xff0c;无论用户身处何地。此外&#xff0c;它还支持大量付费高…

eNSP学习——配置RIP抑制接口及单播更新

目录 主要命令 原理概述 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、搭建基础的RIP网络 3、配置RIP抑制接口&#xff0c;优化公司网络 4、配置RIP单播更新,恢复网络通信 5、验证另一种抑制接口方式 需要eNSP各种配置命令的点击链接自取&#xf…

GO——泛型

泛型 对于强类型语言&#xff0c;在编写代码时不事先指定类型&#xff0c;在实例化的时候作为参数指明类型 参考&#xff1a;https://www.liwenzhou.com/posts/Go/generics/ 什么时候使用泛型&#xff1f; 方法中的代码实现与类型T无关参考&#xff1a;https://juejin.cn/p…

day52 123.买卖股票的最佳时机III 188.买卖股票的最佳时机IV

123.买卖股票的最佳时机III 关键在于至多买卖两次&#xff0c;这意味着可以买卖一次&#xff0c;可以买卖两次&#xff0c;也可以不买卖。 动态规划五部曲 1.确定dp数组以及下标的含义 一天一共就有五个状态&#xff0c; 没有操作 &#xff08;其实我们也可以不设置这个状态&a…

oracle自带性能分析脚本

1、awr 报告 AWR 包含了数据库运行情况的详细信息收集&#xff0c;常用于分析收集性能问题。 脚本&#xff1a;awrrpt.sql2、ash 报告 ash 能抓取到比 AWR 报告更细节的信息&#xff0c;可以精确到分钟&#xff0c;默认为获取当前时间到15分钟前的报告 脚本&#xff1a;ashrp…