🐧 Как показать ход выполнения команды dd

Отображение хода выполнения команды dd

by itisgood
Универсальная команда dd часто используется для создания загрузочных USB.
Проблема заключается в том, что когда команда dd используется для записи содержимого огромного ISO-файла на USB-диск, это занимает некоторое время, и может показаться, что команда зависла.
Эту проблему можно решить, отобразив прогресс выполнения команды dd.
Вы можете показать прогресс передачи файла, указав флаг status=progress в команде dd
Вот псевдопример команды, как это будет выглядеть:
sudo dd if=input_file_path of=output_file_path bs=4M status=progress
Давайте посмотрим, как это работает, на практическом примере.

Пример отображения прогресса выполнения команды dd

По умолчанию команда dd не показывает прогресс передачи данных, и это может сбить некоторых людей с толку.
Позвольте мне поделиться примером, в котором я создаю живой USB-диск Ubuntu Studio.
sudo dd if=ubuntustudio-23.10-dvd-amd64.iso of=/dev/sdb1 bs=4M
Входной ISO-файл имеет размер около 5 ГБ, и когда я выполнил команду dd для создания живого USB, это заняло около 20 минут.
Теперь представьте, что команда dd выполняется, но вы видите терминал в следующем состоянии ( ничего не происходит) в течение 20 минут.
Зрелище не из приятных, потому что может показаться, что команда зависла.
Вы понятия не имеете, сколько данных было передано.
Только когда команда завершится, вы сможете увидеть статистику.
Далее я выполним ту же команду, но на этот раз добавим к ней флаг status=progress.
sudo dd if=ubuntustudio-23.10-dvd-amd64.iso of=/dev/sdb1 bs=4M status=progress
Теперь команда dd показывает состояние передачи файлов.
Кажется, что что-то происходит, и экран не пустой, как раньше.
На мой взгляд, это гораздо лучше для пользователя.

Подробнее о ходе передачи файлов

Вот почему я рекомендую всегда использовать флаг status=progress в команде dd.
Более того, я рекомендую делать то же самое с командой rsync, чтобы вы могли видеть статус передачи файлов

You may also like

Leave a Comment