Есть ли способ вывести состояние dd (на OS X) во время процесса копирования?


9

Я использую dd для копирования ISO-изображений на флеш-накопитель. Есть ли способ вывести состояние dd во время процесса копирования?

Ответы:


23

Если вы используете OS X, вы можете нажать CTRL-T, и он даст вам обновление прогресса.


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

В основном потому, что это специфично для OS X / BSD, я думаю.
Зиман

3

Вы можете использовать любой метод командной строки, доступный любому пользователю * nix. Есть множество примеров:

  1. Спросите Ubuntu
  2. http://pfynotes.blogspot.com/2011/05/monitoring-progress-of-dd-on-osx.html
  3. командная строка фу

Все они в основном сводятся к одной из двух категорий: отправляют сигнал уничтожения (например, CTRL-T) или передают вывод через зрителя, как pv. Я бы рекомендовал pvтолько если вы уже используете MacPorts или HomeBrew. Простейший пример:

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

Если у вас есть более 1 файла для передачи, а также вы хотите, чтобы% complete и ETA, то вы должны указать 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.