【发布时间】:2022-01-06 06:57:24
【问题描述】:
我在 /tmp/a.crt 中有一个文件,我必须制作包含 a.crt 而不是 tmp/a.crt 的 a.tgz。当我通过 java 运行 tar 命令时,我无法导航到 /tmp 并执行 tar -cvf a.tgz a.crt
如果我运行tar -cvf a.tgz /tmp/a.crt,它会创建一个包含 tmp/a.crt 的 a.tgz。
我试过tar --exclude='/tmp' -cvf a.tgz /tmp/a.crt,但在解压时显示
gzip:标准输入:不是 gzip 格式
tar:子返回状态 1
有什么办法可以达到我的要求。
【问题讨论】:
-
只需使用
-C。考虑使用 Java 压缩库来使您的应用程序具有可移植性。 -
@BoristheSpider 不明白确切的命令应该是什么,请您详细说明一下。我们可以先手动检查 linux promot,然后再从 java 中复制我可以复制的同一行 -- String[] command = new String[] { "/bin/bash", "-c", "/usr/bin/tar -cvf " + "a.tgz" + " " + "/tmp/a.crt" }; CommandResponse cmdResponse = cmdRunner.runCommandWithConsoleOutput(command);