如何在终端中从tar文件中提取目录内的文件?

5

我想从一个tar文件中提取出一个文件夹内的文件

示例:

tar文件内容:

  • /home/parent_dir/child_dir/

我想将child_dir文件夹中的文件提取到另一个目录中

2个回答

9

命令

tar xf tarfile.tar /home/parent_dir/child_dir

只会提取child_dir及其子目录中的文件。

如果您不希望文件提取到/home/parent_dir/child_dir,则GNU tar提供了一个--transform选项,可以这样使用:

tar  --transform 's,/home/parent_dir/child_dir,foo,' --show-transformed -xf tarfile.tar

这将把本来应该存放在/home/parent_dir/child_dir目录下的文件,存放到./foo目录中。


3

cd <another_directory>
tar xvf <path_to_tar>/<tarfile>.tar <child_dir>
例如:
cd <parent_directory>
tar cvf test.tar *
tar tf test.tar
查看你想要的文件夹,例如:src/org
cd <some other directory you want to extract to>
tar xvf ..\test.tar src/org
ls
现在你可以看到从tar文件中提取出来的目录,例如:src/org


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接