linux中dd命令以及如何测试读写速度

news2024/12/29 0:08:18

在这里插入图片描述

dd命令详解

dd命令是一个在Unix和类Unix系统中非常常用的命令行工具,它主要用于复制文件和转换文件数据。下面我会详细介绍一些dd命令的常见用法和功能:

基本语法

dd命令的基本语法如下:

bash
Copy Code
dd [option]...

主要选项和参数
if=input_file: 指定输入文件,即源文件。
of=output_file: 指定输出文件,即目标文件。
bs=bytes: 指定每次读写的块大小,默认为512字节。
count=n: 指定要复制的块数或者字节数。
seek=n: 在输出时跳过开头的n个块。
skip=n: 在输入时跳过开头的n个块。
conv=conversion: 指定转换选项,例如conv=ucase可以将输出转换为大写。
常见用法
从一个设备/文件复制到另一个设备/文件:

bash
Copy Code
dd if=input_file of=output_file

这个命令会将input_file的内容复制到output_file中。

创建指定大小的空文件:

bash
Copy Code
dd if=/dev/zero of=output_file bs=1M count=100

这个命令会从/dev/zero设备中读取数据,写入到output_file中,创建一个大小为100MB的空文件。

备份和恢复硬盘数据:

bash
Copy Code
dd if=/dev/sda of=backup.img bs=4M

这个命令会将整个硬盘/dev/sda的内容复制到backup.img文件中,可以用于备份和恢复硬盘数据。

转换和处理文件:

bash
Copy Code
dd if=input_file of=output_file conv=ucase

这个命令会将input_file中的内容拷贝到output_file中,同时将所有小写字母转换为大写。

dd命令非常强大,但同时也需要小心使用,因为它对硬件直接进行读写操作,如果使用不当可能会导致数据丢失。因此在使用dd命令时需要格外小心,确保正确理解命令的参数和作用。

测试设备读写速度

可以使用dd命令结合Unix中的一些特殊文件来测试读写速度。其中,/dev/zero和/dev/null是两个常用的特殊文件,它们分别用于生成无限数量的零字节和丢弃所有写入的数据。

测试写入速度

bash
Copy Code
dd if=/dev/zero of=/path/to/testfile bs=1M count=1000 conv=fdatasync

if=/dev/zero: 从/dev/zero设备读取数据,即无限的零字节。
of=/path/to/testfile: 将数据写入到指定的测试文件中。
bs=1M: 指定每次读写的块大小为1MB。
count=1000: 指定要写入的块数,这里写入1000个1MB的块,总共1GB的数据量。
conv=fdatasync: 在每个块被写入后,强制将数据刷新到磁盘,以确保写入操作已经完成。
测试读取速度

bash
Copy Code
dd if=/path/to/testfile of=/dev/null bs=1M

if=/path/to/testfile: 从指定的测试文件中读取数据。
of=/dev/null: 将读取的数据丢弃,不写入到任何文件中。
bs=1M: 指定每次读写的块大小为1MB。

解释

测试写入速度时,dd命令会不断地从/dev/zero设备读取数据,并写入到指定的测试文件中,同时使用conv=fdatasync参数确保数据写入到磁盘。

测试读取速度时,dd命令会从指定的测试文件中读取数据,并将其丢弃到/dev/null设备中,不写入到任何文件,从而测试读取速度。

执行这两个命令后,dd命令会输出读写的速度信息,包括每次读写的数据量以及花费的时间,从而可以计算出读写速度。
在这里插入图片描述

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

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

相关文章

JS-Fetch

Fetch 是一种用于进行网络请求的现代 JavaScript API。它提供了一种简单、灵活且功能强大的方式,用于从服务器获取资源并处理响应。 Fetch API 在浏览器中原生支持,并且以 Promise 为基础,使得异步请求更加直观和易用。使用 Fetch API&#…

大学搜题软件网课?推荐五个搜题软件和学习工具 #其他#经验分享#知识分享

大学生活中,选择适合自己的学习工具能够提高学习效率,让学习更加轻松愉快。 1.彩虹搜题 这个是公众号 提供了各大教材以及网课平台的练习题答案,强大的平台支持,无论是智慧树还是MOOC,只有老师们用不到,…

【SQLAlChemy】如何定义ORM模型,如何映射到数据库?

定义ORM模型并映射到数据库 创建 ORM 基类 使用 declarative_base 根据 engine 来创建一个 ORM 基类。 from SqlAIchemy.LinkDB.main import engineBase declarative_base()创建自定义类 用上边定义的 Base 类来实现自己的 ORM 类。 __tablename__ 类属性,可以…

Vue 2 + Element UI 选择一个el-select清空另一个el-select选中的值

需求&#xff1a;表单中有两个下拉选择器&#xff0c;先选中第一个&#xff0c;清空第二个选中的值 尝试过this.$refs[form].resetFields(field name);全都失效&#xff01; 效果图如下&#xff1a; 先选择商品分类&#xff0c;再去选择商品列表中的某一件商品 <el-form-…

GDPU JavaWeb Ajax请求

异步请求可以提升用户体验并优化页面性能。 ajax登录 实现ajax异步登录。 注意&#xff0c;ajax用到了jQuery库&#xff0c;先下载好相应的js库&#xff0c;然后复制导入到工程的web目录下&#xff0c;最好与你的前端页面同一层级。然后编写时路径一定要找准&#xff0c;“pag…

天才程序员周弈帆 | Stable Diffusion 解读(一):回顾早期工作

本文来源公众号“天才程序员周弈帆”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;Stable Diffusion 解读&#xff08;一&#xff09;&#xff1a;回顾早期工作 在2022年的这波AI绘画浪潮中&#xff0c;Stable Diffusion无疑是最…

视频去水印电脑版,视频去水印软件

视频去水印怎么去&#xff0c;一直是视频编辑者们的热门话题。那么&#xff0c;如何去除频水印呢&#xff1f;接下来&#xff0c;我们将为您详细介绍视频去水印方法。 第一种方法&#xff1a; 首先通过浏览器打开 “ 51视频处理官网” 的网站。打开网站后&#xff0c;我们上传…

C语言---枚举位运算

枚举的定义&#xff1a; 一枚枚的列举 //一个个的列举 枚举的语法&#xff1a; enum 枚举名 { 枚举常量//名字 }&#xff1b; 例子&#xff1a; enum weekay { MON&#xff0c; TUES; WED; THURS; FRI; SAT; SUN;//枚举常量 }; 注意&#xff1a; 1、C语言中…

数据库(28)——联合查询

对于union查询&#xff0c;就是把多次查询的结果合并起来&#xff0c;形成一个新的查询结果集。 语法 SELECT 字段列表 FROM 表A... UNION [ALL] SELECT 字段列表 FROM 表B...; 演示 select * from user where age > 22 union all select * from user where age < 50; u…

消息队列笔记

异步技术 企业级应用中广泛使用的三种异步消息传递技术 原文链接&#xff1a;https://blog.csdn.net/qq_55917018/article/details/122122218 三种异步消息传递技术 JMS (java message service) 一个Java规范&#xff0c;等同于JDBC规范&#xff0c;提供了与消息服务相关的…

tcp aimd 窗口的推导

旧事重提&#xff0c;今天用微分方程的数值解观测 tcp aimd 窗口值。 设系统 AI&#xff0c;MD 参数分别为 a 1&#xff0c;b 0.5&#xff0c;丢包率由 buffer 大小&#xff0c;red 配置以及线路误码率共同决定&#xff0c;设为 p&#xff0c;窗口为 W&#xff0c;则有&…

docker部署skywalking

skywalking版本下载 1&#xff1a;拉取skywalking的oap镜像(可以选择自己的版本&#xff0c;最好与ui&#xff0c;agent版本一致) docker pull apache/skywalking-oap-server:9.5.02&#xff1a;启动oap docker run -d -p 11800:11800 -p 12800:12800 --name sw_oap apache/…

【介绍下R-tree,什么是R-tree?】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

前端渲染大量数据思路【虚拟列表】【异步机制】

当浏览器遇到性能瓶颈导致页面卡顿时&#xff0c;你会怎么处理&#xff1f;如何查找问题的原因&#xff1f; 浏览器本身自带性能检测工具&#xff0c;通常我们分析由脚本导致的页面卡顿会选择 性能&#xff08;performance&#xff09; 选项卡&#xff0c;在其中我们可以找到导…

嵌入式linux系统中利用I2C控制器应用开发详解

大家好,今天主要给大家分享一下,在linux系统上如何使用I2C进行应用开发详解。 l2C (Inter一Integrated Circuit BUS)是I2C BUS简称.中文为集成电路总线.是目前应用最广泛的总线之一。和IMX6ULL有些相关的是.刚好该总线是NXP前身的PHLIPS 设计。 第一:I2C协议概述 …

C++基础编程100题-007 OpenJudge-1.3-05 计算分数的浮点数值

更多资源请关注纽扣编程微信公众号 http://noi.openjudge.cn/ch0103/05/ 描述 两个整数a和b分别作为分子和分母&#xff0c;既分数 a/b &#xff0c;求它的浮点数值&#xff08;双精度浮点数&#xff0c;保留小数点后9位&#xff09; 输入 输入仅一行&#xff0c;包括两个…

Postman 连接数据库 利用node+xmysql

1、准备nodejs环境 如果没有安装&#xff0c;在网上找教程&#xff0c;安装好后&#xff0c;在控制台输入命令查看版本&#xff0c;如下就成功了 2、安装xmysql 在控制台输入 npm install -g xmysql 3、连接目标数据库 帮助如下&#xff1a; 示例&#xff1a; 目标数据库…

新品发布 | 飞凌嵌入式RK3562J核心板,智能工业时代的国产智慧引擎

飞凌嵌入式推出FET3562J-C全国产核心板&#xff0c;专为工业自动化及消费类电子设备设计&#xff0c;打造智能工业时代的国产智慧新引擎。 FET3562J-C核心板基于Rockchip RK3562J处理器开发设计&#xff0c;该处理器采用22nm先进制程工艺&#xff0c;集成了4个ARM Cortex-A53高…

在C++中用3种方法访问一个字符串

1&#xff0e;用字符数组存放一个字符串 编写程序&#xff1a; str是字符数组名&#xff0c;它代表字符数组的首元素的地址&#xff0c;输出时从str指向的字符开始&#xff0c;逐个输出字符&#xff0c;直至遇到\0为止。 2&#xff0e;用字符串变量存放字符串 编写程序&…

数据库 | 关系数据库设计

第七章 1.简述数据库的设计阶段&#xff1f;&#xff08;简要回答数据库设计步骤&#xff1f;&#xff09;&#xff08;&#xff08;数据库设计有哪几个阶段&#xff1f;&#xff09; 需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库的实施、数据库的运行和维护…