有没有办法在复制过程中输出 dd 的状态(在 OS X 上)?

有没有办法在复制过程中输出 dd 的状态(在 OS X 上)?

我正在使用 dd 将 iso 映像复制到拇指驱动器。有没有办法在复制过程中输出 dd 的状态?

答案1

如果您使用的是 OS X,您可以按 CTRL-T,它将为您提供进度更新。

答案2

您可以使用任何 *nix 用户可以使用的命令行技术。有很多示例:

  1. 询问 Ubuntu
  2. http://pfynotes.blogspot.com/2011/05/monitoring-progress-of-dd-on-osx.html
  3. 命令行功能

它们基本上都归为两类:发送终止信号(如 CTRL-T)或通过查看器传输输出。我仅在您已经使用 MacPorts 或 HomeBrew 时才pv推荐。最简单的例子:pv

dd if=file.iso | pv | dd of=/dev/sda3

如果您要传输多个文件,并且还想了解完成百分比和预计到达时间,则必须向 pv 提供其正在监视的流的大小。您可以提供目录树的大小,如下所示

 `SIZE=$(du -sb . | awk '{print $1}')` 

或整个文件系统

 `SIZE=$(df -B1 /dev/sda1 | tail -n1 | tr -s ' ' | cut -d' ' -f2)`  

然后将尺寸传递给pv

dd if=file.iso | pv -s $SIZE | dd of=/dev/sda3

相关内容