最近在用dd处理一些东西, 大概执行一次两三个小时的样子, 但是dd默认没有进度输出, 很不方便.

好在, dd接收到SIGUSR1信号时会输出当前的读写进度, 可以利用这个特性和watch达到想要的效果, 例如这样:

dd if=/dev/zero of=/tmp/foo&

watch -n 10 pkill -USR1 ^dd$

ref:
1, http://www.commandlinefu.com/commands/view/4011/check-the-status-of-dd-in-progress
2, http://shellscripts.org/project/ddprogress

PS, dd现在支持直接显示进度了, 参数是status=progress