DISKSIZE=`sudo blockdev --getsize64 /dev/sdb` && sudo dd bs=4096 if=/dev/sdb | pv -s $DISKSIZE | sudo gzip -9 > ~/USBDRIVEBACKUP.img.gz
Команда dd выполняет копирование данных блоками из одного места в другое. В данном случае, команда копирует данные с устройства /dev/sdb и записывает их в файл ~/USBDRIVEBACKUP.img.gz.
Чтобы получить прогресс и статистику выполнения команды, используется утилита pv (Pipe Viewer). Она используется для отображения прогресса передачи данных через конвейер.
Аргументы команды pv:
— -s $DISKSIZE: указывает размер данных для отображения прогресса работы.
Аргументы команды dd:
— bs=4096: указывает размер блока данных, который будет копироваться.
Аргумент команды gzip:
— -9: указывает на максимальную степень сжатия, что уменьшит размер файла образа.
Альтернативами могут быть другие утилиты для мониторинга прогресса копирования данных, например, status=progress для команды cp.
