我正在寻找一个 tgz 目录所有项目的解决方案,在这一步我想使用 GnuPG 即时加密它。
对我使用的目录中的所有项目进行tgz
for i in *; do tar cfvz $i.tgz $i; done
我想我必须像这样通过 gpg
管道传输它
| gpg -z 0 --always-trust --encrypt -r mail@mail.com > "file".tgz.gpg
但是我必须在哪里调用 gpg
呢?我尝试的所有操作都导致了错误。
最佳答案
如果您不介意将中间文件存储在硬盘上,只需对其进行加密(然后可能会删除它)。生成的脚本类似于
for i in *
do
tar cfvz $i.tgz $i
gpg -r mail@mail.com --encrypt $i.tgz # Include the other options as needed
rm $i.tgz # If you want to
done
如果要在磁盘上没有中间未加密文件的情况下执行操作,请确保 tar 将文件转储到标准输出而不是将其写入文件(通过不使用 -f
标志):
for i in *; do tar cvz $i | gpg -r mail@mail.com --encrypt > $i.tgz.gpg; done
关于linux - 如何 tgz 目录中的所有项目并使用 GnuPG 即时加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26434479/