可能的重复:
dd:我怎么知道它是否仍然有效?
我用来dd
将磁盘克隆到图像文件,并动态压缩它:
dd if=/dev/sda | gzip > /mnt/image_file
如何查看dd
已处理的数据量?
查看输出文件的大小当然是没有用的,因为它被压缩了。
答案1
大多数dd
实现在接收时打印状态信息SIGUSR1
。pkill -USR1 -x dd
可能就是你想要的。
答案2
尝试pv
,管道查看器。我刚刚测试过,它可以直接运行/dev/sda
,这意味着您甚至可以获得确定性的进度条。
关于时代:
我创建了一个随机文件dd if=/dev/urandom of=random bs=4k count=10000
。然后我尝试了几种阅读方法:
$ time dd if=random | gzip >rand.gz
800000+0 records in
800000+0 records out
409600000 bytes (410 MB) copied, 17.9261 s, 22.8 MB/s
real 0m17.940s
user 0m16.545s
sys 0m1.248s
$ time pv random | gzip >rand.gz
391MB 0:00:17 [22.1MB/s] [==================================>] 100%
real 0m18.048s
user 0m16.477s
sys 0m1.048s
$ time <random gzip >rand.gz
real 0m18.410s
user 0m16.401s
sys 0m0.596s
我又跑了一遍,pv
比dd
更接近、更低<
。我的结论是pv
和的性能dd
相同,误差范围非常小。