I needed to copy an iso to a flash drive to install Windows 7 on my friends computer and decided that
was the right tool to perform this transfer. However, I know from past experience that
will not show any kind of progress or progress bar. In the past I have been able to send a command along the lines of:
killall -USR1 dd
It appears that dd in OSX requires a -INFO flag from a kill / killall command rather then a -USR1 flag as is the standard in most Linux distributions I have played with. This brought me the following info:
1952+0 records in
1951+0 records out
2045771776 bytes transferred in 1486.640041 secs (1376104bytes/sec)
This is nice, but what if I want more information? Ok well then I can use iostat. In my case the command I used was:
iostat -Iw 3 disk1
This showed me a transfer summary every 3 seconds for disk1. The output looked like this:
disk1 cpu load average
KB/t xfrs MB us sy id 1m 5m 15m
4.00 683747 2670.89 2 4 94 0.18 0.29 0.70
4.00 684771 2674.89 2 3 95 0.17 0.29 0.70
4.00 685795 2678.89 6 6 88 0.17 0.29 0.70
4.00 686819 2682.89 4 5 91 0.15 0.28 0.69
4.00 687843 2686.89 6 5 89 0.14 0.28 0.69
4.00 688867 2690.89 3 5 92 0.14 0.28 0.69
4.00 689868 2694.80 3 5 92 0.13 0.27 0.69
Between the two, this was enough for my needs. However if you want a “graphical” way to monitor the transfer, check out Pipe Viewer.
PV is used to pipe data through and gives you speed. if you give it a size via the -s switch then it will give you a progress bar
dd if=~/Desktop/file.dd | pv -s 256000k | dd of=/dev/disk1 bs=1024