Linux下面使用dd命令烧录U盘并查看执行进度

Linux下面使用dd命令烧录U盘并查看执行进度

July 13, 2020

烧录U盘

先用fdisk来查看U盘的盘符

sudo fdisk -l

再用dd命令来写数据到U盘

sudo dd if=/home/paul/Downloads/test.iso of=/dev/sdc bs=1M count=10000

查看执行进度

假定需要每5秒输出dd的进度,可以使用下面几种方法。新开一个命令行窗口,执行下面的命令,注意命令上面可能需要加上sudo

方法一:

watch -n 5 pkill -USR1 ^dd$

方法二:

watch -n 5 killall -USR1 dd

方法三:

while killall -USR1 dd; do sleep 5; done

方法四:

while (ps auxww |grep " dd " |grep -v grep |awk '{print $2}' |while read pid; do kill -USR1 $pid; done) ; do sleep 5; done

上述四种方法中使用三个命令:pkill、killall、kill向dd命令发送SIGUSR1信息,dd命令进程接收到信号之后就打印出自己当前的进度。

看到的效果类似:

772+0 records in
772+0 records out
809500672 bytes (810 MB, 772 MiB) copied, 117.321 s, 6.9 MB/s
791+0 records in
791+0 records out
829423616 bytes (829 MB, 791 MiB) copied, 122.737 s, 6.8 MB/s
809+0 records in
809+0 records out
848297984 bytes (848 MB, 809 MiB) copied, 128.148 s, 6.6 MB/s
824+0 records in
824+0 records out
864026624 bytes (864 MB, 824 MiB) copied, 132.425 s, 6.5 MB/s
843+0 records in
843+0 records out
883949568 bytes (884 MB, 843 MiB) copied, 137.895 s, 6.4 MB/s
862+0 records in
862+0 records out
903872512 bytes (904 MB, 862 MiB) copied, 143.285 s, 6.3 MB/s
877+0 records in
877+0 records out
919601152 bytes (920 MB, 877 MiB) copied, 147.639 s, 6.2 MB/s
最后更新于