Тар с прогрессом, но без сжатия
Есть много ответов о том, как создать tar.gz
файл с обновлениями прогресса (т.е. этот ответ, скопированный ниже)
tar cf - /folder-with-big-files -P | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') | gzip > big-files.tar.gz
Но как я вижу прогресс, если я заархивирую файлы без сжатия, вот так
tar -cvf output.tar folder/to/tar
2 ответа
Решение
В то время как принятое решение работает, это всего лишь злоупотребление процессом. Существует более простое и элегантное / правильное решение -
tar -c /folder | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') > bigfiles.tar
tar обозначает Tape ARchive - и предназначен для работы с потоками. "f" в "cf" указывает tar специально создавать файл - вместо этого сделайте это и укажите "-" для использования stdout в качестве этого файла.
Вместо вывода вывода через gzip выведите в файл: tar cf - /folder-with-big-files -P | pv -s $(du -sb /folder-with-big-files | awk '{print $1}') > big-files.tar