time有计时作用,dd用于复制,从if读出,写到of;
if= 输入文件名,缺省为标准输入 of= 输出文件名,缺省为标准输出 ibs= 一次读入字节数(即一个块大小) obs= 一次写字节数(即一个块大小) bs= 同时设置读写块的大小 ,可代替 ibs 和 obs 。 cbs= 一次转换字节,即转换缓冲区大小。 skip= 从输入文件开头跳过 blocks 个块后再开始复制。 seek= 从输出文件开头跳过 blocks 个块后再开始复制。(通常只有当输出文件是磁盘或磁带时才有效) count= 仅拷贝 blocks 个块,块大小等于 ibs 指定的字节数。 conv=conversion[,conversion...] 用指定的参数转换文件。 iflag= 指定读的方式,参见“FLAGS参数说明” oflag= 指定写的方式,参见“FLAGS参数说明”(1) if=/dev/zero(产生字符)不产生IO,因此可以用来测试纯写速度;
(2) of=/dev/null(回收站、无底洞)不产生IO,可以用来测试纯读速度;
3.1 写速度
time dd if=/dev/zero of=test.txt bs=8k count=300000
=>
300000+0 records in 300000+0 records out 2457600000 bytes (2.5 GB, 2.3 GiB) copied, 25.5826 s, 96.1 MB/s
real 0m25.758s user 0m0.264s sys 0m2.320s
所以写速度为:8*300000/1024/25.758=90.991M/s
3.2 读速度
sudo time dd if=/dev/sda1 of=/dev/null bs=8k => 33280+0 records in 33280+0 records out 272629760 bytes (273 MB, 260 MiB) copied, 1.78716 s, 153 MB/s
所以sda1上的读取速度为:8*33280/1024/1.78716 =145.482M/s