如何从tar提取单个文件到另一个目录?[关闭]


71

我知道我可以使用以下命令将单个文件提取到当前工作目录(假设我内部有一个名为test.tar的tar文件,其中包含一个名为testfile1和testfile2的文件):

$tar xvf test.tar testfile1

而且我可以使用-C选项将文件提取到另一个目录:

$tar xvf test.tar -C anotherDirectory/

当我将以上两种技术结合在一起时,我想可以将一个文件提取到另一个目录。

$ tar xvf test.tar testfile1 -C anotherDirectory/

但是结果是我只能将testfile1提取到当前的工作目录,而不是另一个目录。

我想知道如何从tar提取单个文件到另一个目录?


16
不知道为什么要关闭,这在Google搜索搜索如何从tar中提取单个文件时对我来说是最高的,并且根据SO FAQ,当您的问题涉及以下内容时,您的位置就正确了:software tools commonly used by programmers...我相信tar程序员非常常用(例如编译器,编辑器,源代码控制等),如果您确实认为不适合,请移至其他SO网站,但不要关闭,因为似乎没有其他关于该主题的问题出现在SO的google中。
stefanB

如果我们重新打开它,也许我们可以迁移(重新关闭)它(以设置重定向)
ronalchn 2012年

Answers:


100

问题是您的参数顺序错误。单个文件参数必须为last。

例如

$ tar xvf test.tar -C anotherDirectory/ testfile1

应该可以。

PS:您应该在超级用户而不是SO上问这个问题


16
如果您不包括use的目录名称--strip-components,请参考以下示例bin/helmtar xf helm-v2.9.1-linux-amd64.tar.gz --strip-components=1 -C bin/ linux-amd64/helm
Cameron Taggart
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.