How to extract a single file from tar to a different directory?

I know that I can use following command to extract a single file to the current working directory (assume I have a tar file named test.tar and a file named testfile1 and testfile2 are inside it):

$tar xvf test.tar testfile1

And I can use -C option to extract files to another directory:

$tar xvf test.tar -C anotherDirectory/

When I incorporate the above two techniques together, I suppose that I can extract a single file to another directory.

$ tar xvf test.tar testfile1 -C anotherDirectory/

But the result is I can only extract the testfile1 to the current working directory, rather than the anotherDirectory.

I want to know how can I extract a single file from tar to a different directory?

79423 次浏览

The problem is that your arguments are in incorrect order. The single file argument must be last.

E.g.

$ tar xvf test.tar -C anotherDirectory/ testfile1

should do the trick.

PS: You should have asked this question on superuser instead of SO