Бар прогресса При выполнении TAR

Я каждый день должен копировать файлы с моего компьютера на SD-карту, используя:

tar zxvf file.tar.gz -C /path_to_SD_card

Ubuntu выполняет эту команду мгновенно, но, как вы можете знать, он сохраняет копирование файлов в фоновом режиме. Поэтому мне нужно знать, когда процесс копирования завершится.

Есть ли способ знать это? что-то вроде бара прогресса?

заранее спасибо.

0
задан 13 February 2021 в 14:48

1 ответ

Нет прогресса стержня здесь: задержка не из процесса TAR , но из подсистемы ввода / вывода ядра не совсем не закончено.

TAR Читает этот архивный файл и записывает его на файловую систему на вашей SD-карте, но сначала переходит в буферы ядра. Сообщает ядро ​​к TAR , что операция завершена, но она все равно продолжает промывать эти буферы в аппаратное обеспечение. Хуже того, большинство современных SD-карт / USB-палочки также имеют какой-то аппаратный буфер, который также необходимо промыть.

Если вы хотите сценарию, что вы можете отправить команду Sync после вашей команды TAR ; Это будет хорошо и действительно блокировать все, пока все буферы не будут промыты (записаны на фактическое оборудование):

tar -xvf myarchive.tgz -C /media/sdcard
sync

(обратите внимание, что TAR достаточно уют с момента многих лет, чтобы обнаружить метод сжатия при распаковке, так что вы можете Опустить его для -x и -T )

2
ответ дан 18 March 2021 в 23:34

Другие вопросы по тегам:

Похожие вопросы: