Как сделать так, чтобы команда dd была подробной?

Я хочу сделать загрузочный USB-накопитель путем клонирования образа. Я провел некоторые исследования и не нашел удовлетворительного способа заставить dd предоставлять некоторую обратную связь на консоль о том, как продвигается прогресс.

Есть ли способ, встроенный в команду, сделать это, помимо опроса PID с помощью команды ps?

Если вы читаете man dd, это отсылает вас к info coreutils 'dd invocation' в котором говорится, в частности,

Отправка сообщения INFO сигнал к бегущему dd процесс выводит статистику ввода/вывода на стандартную ошибку, а затем возобновляет копирование. В приведенном ниже примере, dd выполняется в фоновом режиме для копирования 10 миллионов блоков.То kill команда заставляет его выводить промежуточную статистику ввода-вывода, и когда dd завершается нормально или прерывается с помощью SIGINT сигнал, он выводит окончательную статистику.

 $ dd if=/dev/zero of=/dev/null count=10MB & pid=$! $ kill -s INFO $pid; wait $pid 3385223+0 records in 3385223+0 records out 1733234176 bytes (1.7 GB) copied, 6.42173 seconds, 270 MB/s 10000000+0 records in 10000000+0 records out 5120000000 bytes (5.1 GB) copied, 18.913 seconds, 271 MB/s

В системах, в которых отсутствует INFO сигнал dd реагирует на USR1сигнал вместо этого, если только POSIXLY_CORRECT переменная среды isset.

Вы также можете попробовать status=progress опция, которая будет отображать информацию в режиме реального времени:

[~]$ dd if=/dev/zero of=/dev/null count=10MB status=progress4708234752 bytes (4.7 GB, 4.4 GiB) copied, 4 s, 1.2 GB/s10000000+0 records in10000000+0 records out5120000000 bytes (5.1 GB, 4.8 GiB) copied, 4.3516 s, 1.2 GB/s[~]$ 

Есть несколько решений, доступных через поиск в Google.

От http://www.cyberciti.biz/faq/linux-unix-dd-command-show-progress-while-coping/

(pv -n /dev/sda | dd of=/dev/sdb bs=128M conv=notrunc,noerror) 2>&1 | dialog --gauge "Running dd command (cloning), please wait..." 10 70 0

enter image description here

Возможно, вам придется установить dialog и pv

sudo apt-get install pv dialog