我需要克隆几个1TB硬盘,但它们需要数小时的时间。我想知道有没有办法知道它们的复制速度、已完成的进度以及剩余时间。
我只能看到运行命令的终端。当我运行“ps -e”时,至少我知道“dd”正在工作,因为CPU使用率显示出来了,但我无法知道它已经完成了多少或者还需要多长时间才能完成。
这让我有点疯狂。
我只能看到运行命令的终端。当我运行“ps -e”时,至少我知道“dd”正在工作,因为CPU使用率显示出来了,但我无法知道它已经完成了多少或者还需要多长时间才能完成。
这让我有点疯狂。
dd --help
检查的内容,在帮助文档的末尾(我真的不敢相信我没有看到那个)提到了以下内容:Sending a USR1 signal to a running `dd' process makes it
print I/O statistics to standard error and then resume copying.
$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid
18335302+0 records in
18335302+0 records out
9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s
pv
虽然更方便。 - Mechanical snailkill $pid
。这可能会终止复制进程。@Luis,你的回答有点误导人。你只需要运行ps -a | grep dd
,然后发送信号给获取到的pid kill -USR1 123456789
(其中"123456789"是pid)。 - Nuxpv
来查看任何管道流的实时数据传输报告。它可用于使用管道的任何应用程序。同时,它也是一个很好的工具,可以查看诸如USB、外部磁盘和网络计算机等的传输速率。dd if=infile | pv > outfile
或者直接复制,只需使用以下内容:
pv infile > outfile
例子:
sudo pv /dev/sda1 > /home/user/sda1.ext4.img
pv /dev/sda > /dev/sdb
。同时给您一个漂亮的进度条。 - Mechanical snaildd if=/dev/sda | pv | dd of=/dev/sdb
- Trevor Rudolph-s
。 - Trevor Rudolph-INFO
标志而不是-USR1
标志。请记住,它会在你的dd进程所在的终端中显示信息,因此如果你打开一个新的标签输入kill -INFO $PID
(其中$PID
是你用ps -e | grep dd
找到的数字),你需要切换回dd
运行的标签才能看到输出。CTRL + t
来获得进度输出。我不确定这是否是一个新功能,但在我的OSX Catalina(10.15)上可用,比大多数解决方案要简单得多 :) - abhchand已经有另一个名为dcfldd
的扩展dd,可以做很多有趣的事情,就像你所要求的一样http://dcfldd.sourceforge.net/
sudo apt-get install dcfldd
dd
,而是使用dcfldd