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

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命令会输出读写的速度信息,包括每次读写的数据量以及花费的时间,从而可以计算出读写速度。

相关文章:
linux中dd命令以及如何测试读写速度
dd命令详解 dd命令是一个在Unix和类Unix系统中非常常用的命令行工具,它主要用于复制文件和转换文件数据。下面我会详细介绍一些dd命令的常见用法和功能: 基本语法 dd命令的基本语法如下: bash Copy Code dd [option]...主要选项和参数 if…...
centos官方yum源不可用 解决方案(随手记)
昨天用yum安装软件的时候,就报错了 [rootop01 ~]# yum install -y net-tools CentOS Stream 8 - AppStream 73 B/s | 38 B 00:00 Error: Failed to download metadata for repo appstream: Cannot prepare internal mirrorlis…...
langchian_aws模块学习
利用langchain_aws模块实现集成bedrock调用模型,测试源码 from langchain_aws.chat_models import ChatBedrock import jsondef invoke_with_text(model_id, message):llm ChatBedrock(model_idmodel_id, region_name"us-east-1")res llm.invoke(messa…...
归并排序-成绩输出-c++
注:摘自hetaobc-L13-4 【任务目标】 按学号从小到大依次输入n个人的成绩,按成绩从大到小输出每个人的学号,成绩相同时学号小的优先输出。 【输入】 输入第一行为一个整数,n,表示人数。(1 ≤ n ≤ 100000…...
✔️Vue基础+
✔️Vue基础 文章目录 ✔️Vue基础computed methods watchcomputed计算属性methods计算属性computed计算属性 VS methods方法计算属性的完整写法 watch侦听器(监视器)watch侦听器 Vue生命周期Vue生命周期钩子 工程化开发和脚手架脚手架Vue CLI 项目目录介…...
基于VS2022编译GDAL
下载GDAL源码;下载GDAL编译需要依赖的必须代码,proj,tiff,geotiff三个源码,proj需要依赖sqlite;使用cmake编译proj,tiff,geotiff;proj有版本号要求;使用cmake…...
C语言之字符函数总结(全部!),一篇记住所有的字符函数
前言 还在担心关于字符的库函数记不住吗?不用担心,这篇文章将为你全面整理所有的字符函数的用法。不用记忆,一次看完,随查随用。用多了自然就记住了 字符分类函数和字符转换函数 C语言中有一系列的函数是专门做字符分类和字符转换…...
vite常识性报错解决方案
1.导入路径不能以“.ts”扩展名结束。考虑改为导入“xxx.js” 原因:当你尝试从一个以 .ts 结尾的路径导入文件时,ESLint 可能会报告这个错误,因为它期望导入的是 JavaScript 文件(.js 或 .jsx)而不是 TypeScript 文件&…...
2024.06.08【读书笔记】丨生物信息学与功能基因组学(第十二章 全基因组和系统发育树 第四部分)【AI测试版】
读书笔记:《生物信息学与功能基因组学》第十二章 - 第四部分 目录 基因组测序的生物信息学工具 1.1 常用生物信息学软件介绍1.2 基因组数据的管理和分析 基因组序列的比较分析 2.1 基因组之间的相似性与差异性2.2 比较基因组学的应用 基因组学在医学和健康科学中…...
IO进程线程(八)线程
文章目录 一、线程(LWP)概念二、线程相关函数(一)创建 pthread_create1. 定义2. 使用(不传参)3. 使用(单个参数)4. 使用(多个参数)5. 多线程执行的顺序6. 多线程内存空间 ࿰…...
Linux基础指令网络管理003
本章主要讲述如何进行网络诊断。 操作系统: CentOS Stream 9 操作步骤: 操作指令 ping: 测试网络连接的连通性和延迟。 [rootlocalhost ~]# ping 192.168.80.111 PING 192.168.80.111 (192.168.80.111) 56(84) 比特的数据。 64 比特&a…...
在Android中使用 MQTT 服务实现消息通信
1.摘要 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是一种轻量级的、基于发布/订阅(Publish/Subscribe)模式的通信协议,最初由 IBM 在1999年开发。它设计用于在低带宽、不稳定的网络环境下…...
qsort函数
学习c语言的过程中少不了的就是排序,例如冒泡排序(不清楚的同学可以翻找一下之前的文章), 我们这里将冒泡排序作为一个自定义函数来呈现一下 #include<stdio.h>void bubble_sort(int arr[], int len) {for (int i 0; i &…...
你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领域的GPT、开启数据3.0 时代
✨点击这里✨:🚀原文链接:(更好排版、视频播放、社群交流、最新AI开源项目、AI工具分享都在这个公众号!) 你可以直接和数据库对话了!DB-GPT 用LLM定义数据库下一代交互方式,数据库领…...
数据结构笔记2 栈和队列
为什么在循环队列中,判断队满的条件是(Q.rear1)模maxqsize? 取模运算(%)在循环队列中起到关键作用,主要是因为它能确保索引值在数组的有效范围内循环。具体来说,取模运算有以下几个重要作用&am…...
Python | 刷题笔记
继承 class Father:__secret"you are your own kid"stroy"iam a handsome boy..."def tellstory(self):print("我的故事:",self.stroy)def __tellstory(self):print("我的秘密:",Father.__secret) class Son(Father):def tell(self…...
软件三班20240605
文章目录 1.创建工程和模块2.添加 web支持3.创建前端代码4.添加servlet 依赖5. 代码6.案例2 1.创建工程和模块 2.添加 web支持 方法1 方法2 3.创建前端代码 4.添加servlet 依赖 5. 代码 <!DOCTYPE html> <html lang"en"> <head><meta c…...
http和https数据传输与协议区分
目录 1. 数据传输安全性2. 端口号3. URL 前缀4. SSL/TLS 证书5. 性能6. SEO 和用户信任7. 应用场景总结 HTTP(HyperText Transfer Protocol)和 HTTPS(HyperText Transfer Protocol Secure)是用于在客户端(如浏览器&…...
天才程序员周弈帆 | Stable Diffusion 解读(一):回顾早期工作
本文来源公众号“天才程序员周弈帆”,仅用于学术分享,侵权删,干货满满。 原文链接:Stable Diffusion 解读(一):回顾早期工作 在2022年的这波AI绘画浪潮中,Stable Diffusion无疑是最…...
软件架构初探
MVC架构软件层次结构是面向实体的,他最底层是实体类,实体类中封装了对象的抽象数据类型(数据结构和对数据结构的基本操作)。然后向上一层数据处理层提供接口,数据处理层利用模型层提供的对象和基本操作进一步进行算法的…...
在Node.js后端服务中集成Taotoken调用多模型API实战
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js后端服务中集成Taotoken调用多模型API实战 构建需要AI能力的Web服务时,后端开发者常面临模型选型、API接入复…...
Simulink仿真避坑指南:PWM控制48V直流电机时,轻载和重载下的参数设置与波形分析(附2018a源文件)
Simulink仿真避坑指南:PWM控制48V直流电机时,轻载和重载下的参数设置与波形分析 在工程实践中,直流电机的仿真建模是验证控制算法和预测系统性能的关键环节。特别是当面对不同负载条件时,如何准确设置电机参数并解读仿真波形&…...
告别AT指令恐惧症:用ESP-01S和51单片机,5分钟搞定手机远程开关灯
从零到一的智能家居初体验:ESP-01S与51单片机极简联动方案 第一次接触物联网硬件开发时,那些密密麻麻的AT指令确实容易让人望而生畏。但当我真正用ESP-01S模块配合最基础的51单片机,在五分钟内实现了手机远程开关LED灯的那一刻,所…...
VMware Workstation Pro 17免费激活实战:5分钟解锁专业虚拟化
VMware Workstation Pro 17免费激活实战:5分钟解锁专业虚拟化 【免费下载链接】VMware-Workstation-Pro-17-Licence-Keys Free VMware Workstation Pro 17 full license keys. Weve meticulously organized thousands of keys, catering to all major versions of V…...
AI抠图的几种方法:从传统到智能,一文掌握所有工具和技巧
最近被问得最多的问题就是:"怎么快速给图片换个背景?"、"证件照怎么自己换底色?"、"商品图去背景用什么工具?"。说实话,随着AI技术的发展,抠图这件事已经从"需要Photos…...
ksail:本地Kubernetes开发环境一键搭建与云原生实践
1. 项目概述:当Kubernetes遇上本地开发如果你是一名后端或云原生方向的开发者,大概率经历过这样的场景:为了调试一个微服务,你需要在本地启动一整套依赖——数据库、消息队列、缓存,可能还有另外两三个兄弟服务。你手忙…...
Midjourney咖啡印相落地实操:3步完成色彩校准、5种纸张适配方案与打印机ICC配置清单
更多请点击: https://intelliparadigm.com 第一章:Midjourney Coffee印相技术原理与工艺边界 Midjourney Coffee印相并非官方命名的技术标准,而是社区对一类融合生成式AI图像(如Midjourney输出)与传统咖啡渍显影工艺的…...
3步诊断Reloaded-II模组依赖无限下载循环:新手友好修复指南
3步诊断Reloaded-II模组依赖无限下载循环:新手友好修复指南 【免费下载链接】Reloaded-II Universal .NET Core Powered Modding Framework for any Native Game X86, X64. 项目地址: https://gitcode.com/gh_mirrors/re/Reloaded-II 如果你在使用Reloaded-I…...
iOSDeviceSupport终极指南:如何快速解决Xcode设备支持文件缺失问题
iOSDeviceSupport终极指南:如何快速解决Xcode设备支持文件缺失问题 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 你是否曾经在iOS开发中遇到过这样的困扰…...
别再只调分辨率了!手把手教你用VESA时序搞定1080P显示器驱动(附Verilog代码)
从VESA标准到FPGA实战:构建1080P显示驱动的完整逻辑链 在数字显示技术领域,驱动一块19201080分辨率的屏幕远不止是配置几个参数那么简单。当我第一次尝试用FPGA驱动高清显示器时,发现大多数教程都停留在"设置分辨率"的层面…...
