[转帖]dd - Linux世界中的搬运工
《存储工具系列文章》主要介绍存储相关的测试和调试工具,包括不限于dd、fio、vdbench、iozone、iometer、cosbench等性能负载工具,及strace等调试工具。
dd,是 device driver 的缩写,它可以称得上是“Linux 世界中的搬运工”,它用来读取设备、文件中的内容,并原封不动地复制到指定位置。
1 dd参数解析
名称:
dd - 用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
语法:
dd [OPERAND]
dd OPTION
解析:
根据operand,拷贝一个文件,并进行转换。
bs=BYTES
设置一次读写BYTES字节(同ibs,obs);
cbs=BYTES
一次转换BYTES字节数;
ibs=BYTES
一次读取bytes字节;
obs=BYTES
一次写入bytes字节;
conv=CONV
将一个文件转换为制定的格,CONV可以为参数见“CONV参数说明”;
count=BLOCKS
只拷贝输入的BLOCKS块;
if=FILE
从文件FILE中读取数据(FILE可以是文件名,也可以是设备名称);
of=FILE
向文件FILE中写入数据(FILE可以是文件名,也可以是设备名称);
seek=BLOCKS
在出文件中,跳过开头的ibs*blocks块;
skip=BLOCKS
在输入文件中,跳过开头的ibs*blocks块;
iflag=FLAGS
指定读的方式FLAGS,参见“FLAGS参数说明”
oflag=FLAGS
指定写的方式FLAGS,参见“FLAGS参数说明”;
status=noxfer
suppress transfer statistics
CONV参数说明:
ascii -转换 EBCDIC 为 ASCII。
ebcdic -转换 ASCII 为 EBCDIC。
ibm -转换ASCII 为 alternate EBCDIC.
block -把每一行转换为长度为 cbs 的记录,不足部分用空格填充。
unblock-使每一行的长度都为 cbs ,不足部分用空格填充。
lcase -把大写字符转换为小写字符。
ucase -把小写字符转换为大写字符。
nocreat -不创建心的输出文件
notruncdo -不截短输出文件
swab -交换输入的每对字节。 Unlike the Unix dd, this works when an odd number of bytes are read. If the input file contains an odd number of bytes, the last byte is simply copied (since there is nothing to swap it with).
noerror -出错时不停止。
sync -把每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
fdatasync -physically write output file data before finishing
fsync -同上,但也要写元数据
FLAGS参数说明:
append -append mode (makes sense only for output; conv=notrunc sug-gested)
direct 读写数据采用直接IO方式;
directory 读写失败除非是directory;
dsync 读写数据采用同步IO;
sync 同上,但是针对是元数据
fullblock 堆积满block(accumulate full blocks of input )(iflag only);
nonblack 读写数据采用非阻塞IO方式
noatime 读写数据不更新访问时间
noctty -do not assign controlling terminal from file
nofollow -do not follow symlinks
OPTION说明:
--help
display this help and exit
--version
output version information and exit
2 测试实例
清单1:
要把一张软盘的内容拷贝到另一张软盘上,利用/tmp作为临时存储区。把源盘插入驱动器中,输入下述命令:
[root@RedHat home]#dd if =/dev/fd0 of = /tmp/tmpfile
拷贝完成后,将源盘从驱动器中取出,把目标盘插入,输入命令:
[root@RedHat home]# dd if = /tmp/tmpfile of =/dev/fd0
软盘拷贝完成后,应该将临时文件删除:
[root@RedHat home]#rm /tmp/tmpfile
清单2:
采用dd测试硬盘的读写速度
Ø 可以通过使用dd if=/dev/zero of=/file 来测试磁盘的纯写入性能。
Ø 使用dd if=/file of=/dev/null 来测试磁盘的纯读取性能。
Ø 使用dd if=/file1 of=/file2 来测试磁盘的读写性能
测试硬盘的结果如下:
(1)测试纯写入性能
-
[root@RedHat home]# dd if=/dev/zero of=test bs=8k count=10000 oflag=direct
-
10000+0 records in
-
10000+0 records out
-
81920000 bytes (82 MB) copied, 3.9123 s, 20.9 MB/s
结果为20.9 MB/s。
(1)测试纯读取性能
-
[root@RedHat home]# dd if=test of=/dev/null bs=8k count=10000 iflag=direct
-
10000+0 records in
-
10000+0 records out
-
81920000 bytes (82 MB) copied, 0.424138 s, 193 MB/s
结果为193 MB/s。
[转帖]dd - Linux世界中的搬运工的更多相关文章
- [转帖]Linux操作系统中,*.zip、*.tar、*.tar.gz、*.tar.bz2、*.tar.xz、*.jar、*.7z等格式的压缩与解压
Linux操作系统中,*.zip.*.tar.*.tar.gz.*.tar.bz2.*.tar.xz.*.jar.*.7z等格式的压缩与解压 https://blog.csdn.net/gatieme ...
- [转帖]Linux命令中特殊符号
Linux命令中特殊符号 转自:http://blog.chinaunix.net/uid-16946891-id-5088144.html 在shell中常用的特殊符号罗列如下:# ; ;; . ...
- [转帖]Linux shell中2>&1的含义解释 (全网最全,看完就懂)
Linux shell中2>&1的含义解释 (全网最全,看完就懂) https://blog.csdn.net/zhaominpro/article/details/82630528 ...
- Linux系统中的vi/vim指令【详解】
vi是Unix世界里极为普遍的全屏幕文本编辑器,vim是它的改进版本Vi IMproved的简称.几乎可以说任何一台Unix机器都会提供这套软件. 只要简单的在Shell下执行vi就可以进入 vi 的 ...
- Linux内存中的Cache真的能被回收么?
在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个RHEL6的系统上,free命令的显示内容大概是这样一个状态: [root@tencent64 ~]# free ...
- Linux内核中流量控制
linux内核中提供了流量控制的相关处理功能,相关代码在net/sched目录下:而应用层上的控制是通过iproute2软件包中的tc来实现, tc和sched的关系就好象iptables和netfi ...
- linux学习过程中所需要看的一些书籍
入门类 一直认为,在一个系统上学习开发之前,首先需要熟悉这个系统的使用.鉴于天朝的国情,绝大部分人第一个接触的操作系统就是Windows,因此对于这绝大部分人来说,如果要学习Linux开发,学会使用这 ...
- 调皮的程序员:Linux之父雕刻在Linux内核中的故事
本文内容由公众号“格友”原创分享. 1.引言 (不羁的大神,连竖中指都这么帅) 因为LINUX操作系统的流行,Linus 已经成为地球人都知道的名人.虽然大家可能都听过钱钟书先生的名言:“假如你吃 ...
- [转帖]dd命令详解
dd命令详解 https://czmmiao.iteye.com/blog/1748748 之前一直对linux的命令很恐惧 现在发现 其实不是那么复杂 要仔细学习就可以了 比如 dd = disk ...
- 【转帖】Linux发行版:CentOS、Ubuntu、RedHat、Android、Tizen、MeeGo
Linux发行版:CentOS.Ubuntu.RedHat.Android.Tizen.MeeGo作者:阳光岛主 原文在这儿 Linux,最早由Linus Benedict Torvalds在199 ...
随机推荐
- 使用NPOI导出Excel,并在Excel指定单元格插入图片
一.添加Nuget引用 二.弹框选择保存路径 string fileName = $"记录_{DateTime.Now.ToString("yyyyMMdd_HHmmss" ...
- 9、线性布局(Row和Column)
自定义的IconContainer void main() { runApp(MaterialApp( theme: ThemeData(primarySwatch: Colors.yellow), ...
- html2pdf
nodejs 生成pdf比较靠谱,使用chrome核心渲染: puppeteer / phantom 爬虫都好用 good
- 华为云云容器引擎CCE产品文档带来4个升级,降低使用难度
本文分享自华为云社区<华为云云容器引擎CCE产品文档优化升级!>,作者: 云容器大未来 . 云原生产品技术栈庞大,需要用户对容器.Kubernetes等核心技术都有扎实的理解和掌握:同时问 ...
- 顶会CIKM'21论文解读:基于图神经网络的人类行为轨迹恢复模型
摘要:本文是由华为云数据库创新Lab联合电子科技大学数据与智能实验室发表在顶会CIKM'21的文章,该文章提出首个克服人类移动轨迹数据中普遍存在的多层次周期性.周期偏移现象以及数据稀疏问题的轨迹恢复模 ...
- Gzip之后继者Brotli浅析之CDN厂商的智能压缩,服务器Brotli设置
"智能压缩"按照又拍云的说法是,同时支持 Gzip 和 Brotli 压缩算法.根据用于浏览器开启自动选择不同压缩方式. Gzip 压缩算法 Gzip 基于 DEFLATE 算法, ...
- 干货来了!阿里发布近300页Flink实战电子书
近300页实用干货总结,帮你解决 Flink 实战应用难题!<Apache Flink电子书合辑>收录来自bilibili.美团点评.小米.OPPO.快手.Lyft.Netflix等一线大 ...
- iOS分发证书过期或手动吊销,会影响App的下架吗?
iOS distribution发布证书过期或者被手动revoke了app会被下架吗? 在距离distribution 证书过期一个月(或被手动revoke了)的时候会受到apple的邮件 编辑 ...
- 最优订单执行算法相关Paper介绍
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 随着量化交易.高频交易的竞争日益激烈,事实证明,交易执行显着影响量化策略的投资绩效. 因此,许多从业者开 ...
- 认证,权限,频率源码分析 自定义频率类 SimpleRateThrottle缓存频率类 基于APIView编写分页
目录 昨日回顾 三种位置的token获取 三种权限校验方式 原生django的cookie+session认证底层原理 断点调试使用 认证,权限,频率源码分析(了解) 权限源码分析 认证源码分析 频率 ...