问题
在 Linux/Unix 类系统中,dd命令是一个非常实用的工具,它可以用来复制文件、磁盘、分区等。但是,当dd命令在运行时,它不会显示任何进度信息,这可能会让你感到焦虑和困惑:到底 dd 了多少啊啊啊啊啊。那么,有没有办法让dd命令在运行时显示进度呢?
解决方案
dd 命令加上 status=progress 参数
在 GNU Coreutils 8.24版本之后,dd命令增加了一个status=progress参数,可以用来显示进度信息。你可以像下面这样使用它:
| |
status=progress参数会让dd命令显示进度信息,如图

使用 kill 命令
如果你只是想查看dd命令的进度信息,也可以使用kill命令来实现。你可以像下面这样使用它,我们做一个小实验:
| |
在这个示例中,我们使用dd命令从/dev/zero设备读取数据,并将其写入/dev/null设备。然后,我们使用kill命令每隔 1 秒输出dd命令的进度信息。
这种方法可以在不安装额外软件的情况下实现显示进度信息的功能,毕竟kill命令是 Linux 系统自带的工具,同时,这个也适用于最开始执行dd后忘记加status=progress 参数时,可以用这种方法补救。
总结
以上就是在 Linux/Unix 系统中使用dd命令显示进度信息的两种常用方法。你可以根据自己的需求选择合适的方法。