如何在 Linux 中删除 tar 文件中的所有字符串?

如何在 Linux 中删除 tar 文件中的所有字符串?

我使用命令创建了一个 tar.gz 文件tar -cf file_1.tar。但是,当我使用 时strings file_1.tar,我看到:

file
0000644
0001750
0001750
00000000000
014545
ustar  
arian
arian

我怎样才能除去它们?

答案1

strings代表二进制文件中的任何纯文本,您应该加密 tar 文件以隐藏其内容。

你可以直接使用 GPG 和 tar,例如在这个答案中

加密:

tar czvpf - file1.txt file2.pdf file3.jpg \
 | gpg --symmetric --cipher-algo aes256 -o myarchive.tar.gz

解密:

gpg -d myarchive.tar.gz.gpg | tar xzvf -

或者您可能想要考虑使用 p7zip 存储您的 tar 文件,这对于与其他使用 p7zip 或 7-Zip 的操作系统兼容非常有用。重新压缩 tar 文件的原因是为了保留 ZIP 文件不兼容的 unix 权限。

首先安装

sudo apt install p7zip-full

加密:

7z a -p -mx=0 -mhe -t7z test.7z test.tar

当您运行加密命令时,提示会询问您要使用的密码。

解密:

7z x test.7z

有关这些开关含义的更多信息,请参阅本指南

相关内容