Как отобразить прогресс с помощью GPG для больших файлов?

Как отобразить прогресс с помощью GPG для больших файлов?

Мне нужно зашифровать большой файл с помощью gpg. Можно ли отобразить полосу прогресса, как при использовании pvкоманды?

решение1

progressможет сделать это за вас — это не совсем индикатор выполнения, но он будет показывать ход выполнения (в процентах) и текущий обрабатываемый файл (если обрабатывается несколько файлов):

gpg ... &
progress -mp $!

решение2

Вполне возможно использовать pvв сочетании с gpg, и я не вижу причин, по которым этого следует избегать. Вот реальный пример, который я сейчас запускаю:

gpg_fingerprint='055667909AA5B877B2A47BC34311D0FB042CB88F'
file_name='linux-mint-20_timeshift_2020-10-13_11-39-29.tar.bz2'

pv < "$file_name" | gpg \
--compress-algo none \
--cipher-algo aes256 \
--digest-algo sha512 \
--local-user "$gpg_fingerprint" \
--recipient  "$gpg_fingerprint" \
--encrypt-files - > "$file_name".gpg

Связанный контент