解密文件gpg时添加进度条
Add a progress bar when deciphering files gpg
为了方便加密和解密文件和文件夹,也为了得到一些关于何时完成的线索,我想用 gpg 设置一些进度条之王。
我正在使用 pv
这样做,这对加密很有效,因为我不需要密码。
但是,我不知道如何进行解密,因为它可能会询问我的私钥密码。
这是我尝试过的:
#!/bin/bash
if [ "$#" -ne 1 ] || ! [ -f "" ]; then
echo "Usage: [=10=] CIPHERED_FOLDER" >&2
exit 1
fi
echo "Deciphering "
pv | gpg -d | tar -xz
如果密码短语已被缓存,则它运行良好,但如果不是,则失败。
所以我使用了一个解决方法,将最后一行替换为 gpg -d | pv -W | tar -xz
但是,由于我不知道解密文件的确切大小,所以我不能有一个百分比。
有没有办法让它工作?在尝试解密以将其放入缓存之前,我尝试寻找在脚本中手动询问密码的方法,但我找不到如何这样做。
谢谢
编辑:我仅为自己加密文件以进行安全存储,并且 gpg 不再要求我提供收件人,因为我已经设置 default-recipient-self
这里有一个比我之前的回答更好的解决方案。
gpg -d <(pv ) | tar -xz
<()
运算符使 gpg 从为 pv
创建的文件描述符读取,同时仍然允许从标准输入读取密码。
这是我从中获取解决方案的地方:https://serverfault.com/questions/40284/create-virtual-file-from-bash-command-output
旧答案供参考:
我设法找到了解决方法。
我先签个短文,把输出直接扔到/dev/null里。
这样,它可以确保在主要解密之前缓存密码。
它看起来像这样:
gpg -o /dev/null --sign <(echo "1234")
echo "Deciphering "
pv | gpg -d -q | tar -xz
为了方便加密和解密文件和文件夹,也为了得到一些关于何时完成的线索,我想用 gpg 设置一些进度条之王。
我正在使用 pv
这样做,这对加密很有效,因为我不需要密码。
但是,我不知道如何进行解密,因为它可能会询问我的私钥密码。
这是我尝试过的:
#!/bin/bash
if [ "$#" -ne 1 ] || ! [ -f "" ]; then
echo "Usage: [=10=] CIPHERED_FOLDER" >&2
exit 1
fi
echo "Deciphering "
pv | gpg -d | tar -xz
如果密码短语已被缓存,则它运行良好,但如果不是,则失败。
所以我使用了一个解决方法,将最后一行替换为 gpg -d | pv -W | tar -xz
但是,由于我不知道解密文件的确切大小,所以我不能有一个百分比。
有没有办法让它工作?在尝试解密以将其放入缓存之前,我尝试寻找在脚本中手动询问密码的方法,但我找不到如何这样做。
谢谢
编辑:我仅为自己加密文件以进行安全存储,并且 gpg 不再要求我提供收件人,因为我已经设置 default-recipient-self
这里有一个比我之前的回答更好的解决方案。
gpg -d <(pv ) | tar -xz
<()
运算符使 gpg 从为 pv
创建的文件描述符读取,同时仍然允许从标准输入读取密码。
这是我从中获取解决方案的地方:https://serverfault.com/questions/40284/create-virtual-file-from-bash-command-output
旧答案供参考:
我设法找到了解决方法。 我先签个短文,把输出直接扔到/dev/null里。 这样,它可以确保在主要解密之前缓存密码。 它看起来像这样:
gpg -o /dev/null --sign <(echo "1234")
echo "Deciphering "
pv | gpg -d -q | tar -xz