我想做的事
我只想提取文件的备份版本进行分析,/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 来检查。
所以说根本就没有什么问题!我不确定我是否应该删除此问答,或者其他人是否可以犯同样的愚蠢错误并从中受益。