2014-10-17 39 views
0

我正在寻找tgz目录中所有项目的解决方案,并且在那一步中我想使用GnuPG进行即时加密。如何使用GnuPG实时对目录中的所有项目进行加密并对其进行加密?

要TGZ目录中的所有项目我用

for i in *; do tar cfvz $i.tgz $i; done 

我想我必须把它管道gpg这样

| gpg -z 0 --always-trust --encrypt -r [email protected] > "file".tgz.gpg 

,但我在哪里必须把gpg电话吗?所有我试过的都导致了一个错误。

回答

1

如果您将中间文件存储在硬盘上可以正常使用,只需对其进行加密(并可能将其删除)。得到的脚本会是这样的

for i in * 
do 
    tar cfvz $i.tgz $i 
    gpg -r [email protected] --encrypt $i.tgz # Include the other options as needed 
    rm $i.tgz # If you want to 
done 

如果你想不磁盘上的一个中间未加密的文件进行操作,确保焦油倾销文件,标准输出,而不是将其写入到文件中(不使用在-f标志):

for i in *; do tar cvz $i | gpg -r [email protected] --encrypt > $i.tgz.gpg; done 
+0

hi,'for i in *;做tar cvz $ i | gpg -r [email protected] --encrypt> $ i.tgz.gpg;这是我寻找的解决方案。谢谢! – Viperdriver2000 2014-10-18 21:00:12

0

这是没有必要单独焦油了文件,每个文件压缩包一个。

tar完全有能力将所有文件都集成到一个tarball中。 E.G:

tar czvf - * | gpg -z 0 --encrypt [email protected] >/tmp/msg.gpg 
+0

MH是dosnt我的作品:( 'GPG:冲突的commands' '焦油 - :不能写:破碎pipe' '焦油:错误是不可恢复:退出now' 但THX反馈 – Viperdriver2000 2014-10-18 20:56:28

+0

对我的作品。这个错误只是表示一些gpg命令行选项的混乱,基本的机制 - 将多个文件进行聚集并将结果传送到gpg,发生在这里。 – 2014-10-18 23:52:24

相关问题