Чи є спосіб вивести статус dd (в ОС X) під час процесу копіювання?


9

Я використовую dd для копіювання ISO-зображень на палець. Чи є спосіб вивести статус dd під час копіювання?

Відповіді:


23

Якщо ви використовуєте OS X, ви можете натиснути CTRL-T, і він дасть вам оновлення прогресу.


так просто, мені цікаво, чому кожен обирає якусь складну майстерність командного рядка над цим
д-р Манхеттен

Переважно тому, що це специфічно для OS X / BSD.
zymhan

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 файлу для передачі, а також ви хочете% завершити і 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.