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

时间:2010-05-13 02:08:35

标签: unix terminal extract tar

我想只提取tar文件的文件夹中的文件

示例:

tar文件的内容:

  • /home/parent_dir/child_dir/

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

  

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