tar 命令-如何将一个文件提取到特定目录

tar 命令-如何将一个文件提取到特定目录

有没有办法将 tar 文件中的单个文件提取到特定目录?事实上,我正在处理一个.tgz文件,因此,我尝试做这样的事情:

gunzip -c mytargzfile.tgz | tar xvf - path/to/myfile -C /tmp

为了提取文件条目,调用path/to/myfile目录。mytargzfile.tgz/tmp

但是这个命令失败了,因为 tar 抱怨说它在存档中找不到名为的文件-C。我之前尝试过切换选项,但也没有帮助。/tmp-Cxvf

请注意,我使用的是 AIX 和 KSH

答案1

我认为 tar 的 C 选项应该在命令中更早出现

tar -cvf - -C /tmp path/to.myfile

我想你可以下载、编译并安装 GNU tar 到你的 ~/bin 中,可能让事情变得更容易一些。

答案2

正如您所说,该命令对我来说效果很好,您尝试了-C第一个命令: tar -C /tmp -xvf。也许是您的 tar 版本存在错误?

有点笨重,但总是有:

cd /tmp
gunzip -c /path/to/mytargzfile.tgz | tar xvf - path/to/myfile

我建议你安装 GNU tar。它值得安装,即使没有别的,也只是为了-j-z选项,而且这是我在新的 Unix 帐户中总是做的第一件事之一。

相关内容