Показать ход выполнения команды dd
Этот небольшой трюк позволяет вам увидеть ход передачи файлов с помощью команды dd.
Универсальная команда 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.
Фактически, я рекомендую то же самое с командой rysnc, чтобы вы могли видеть статус передачи файлов.
Мало того, вы даже можете показать статус копирования файлов с помощью команды cp.