我用脚本测试我的网络速度,并计算每次运行时读取速度所需的平均速度。
命令:
dd if=InputFile of=OutputFile bs=4096k
输出:
64+0 records in
64+0 records out
268435456 bytes (268 MB) copied, 1.8519 s, 145MB/s
问题是dd命令总是将输出打印到stdout。我可以管理它或将其写入文件,以便我可以阅读145MB/s
我尝试了以下几行:
dd if=InputFile of=OutputFile bs=4096k >> log.txt
- 创建一个空文件并打印到stdout
dd if=InputFile of=OutputFile bs=4096k | grep *
- 失败
echo `dd if=InputFile of=OutputFile bs=4096k` # fails
答案 0 :(得分:2)
您的问题是dd 不将输出打印到stdout,而是打印到 stderr 。
您必须使用2> ...
重定向,例如
dd if=/dev/zero of=/dev/null count=1 2> >( grep copied )
答案 1 :(得分:0)
您还可以获取dd过程的PID并设置监视以根据您的喜好发送USR1信号。然后将其重定向到文件!!!!