tar - 在 tarball 中找不到文件,即使它在那里

tar - 在 tarball 中找不到文件,即使它在那里

我想做的事

我只想提取文件的备份版本进行分析,/etc/net.cfg该文件位于 tar.gz 文件中。

当我尝试时会发生什么

失败了,就像这样......

# tar -tf mytar.tar | grep net.cfg
/etc/net.cfg
# tar -xf mytar.tar /etc/net.cfg
tar: Removing leading `/' from absolute path names in the archive
# tar -xf mytar.tar etc/net.cfg
tar: etc/net.cfg: Not found in archive
tar: Error exit delayed from previous errors

我尝试过的故障排除

我制作了一个单独的 test.tar,其中仅包含“test1.txt”和“test2.txt”,如果我tar xf test.tar test1.txt正确执行,则仅提取我想要的 1 个文件。因此,在另一种情况下提取单个文件是有效的。

问题

难道我做错了什么?我如何从绝对路径就像 /etc/net.cfg 从给定的 tar 文件进入工作目录?

细节

操作系统:QNX

外壳:/bin/ksh

答案1

卫生部!这很尴尬。我读到tar: Removing leading '/' from absolute path names in the archive认为这是一个错误,告诉我需要删除前导的“/”,这就是为什么我然后将其作为 just etc/net.cfg

显然这不是一个错误。它只是提供信息,告诉我它本身正在采取该行动,并且正在适当地进行。和文件就在那里

我没有费心去检查该文件,因为我错误地认为这是一个错误,甚至不值得输入 ls 来检查。

所以说根本就没有什么问题!我不确定我是否应该删除此问答,或者其他人是否可以犯同样的愚蠢错误并从中受益。

相关内容