我有一个 tar 存档,我需要将一个目录的内容提取到另一个目录中。
例如,内容可能位于/home/me/stuff/
并且文件夹中的所有内容stuff
都应提取到/extract
.因此,提取完成后,存档/home/me/stuff/
文件夹中的所有内容现在都位于该/extract
文件夹中。
想法?
答案1
如果我明白你在问什么,那么看起来,使用 GNU tar,下面的代码就可以做到这一点:
tar --extract --file in.tar --directory /extract /home/me/stuff --strip 3
使用具有以下内容的存档进行模拟:
$ tar tf in.tar
home/
home/me/
home/me/stuff/
home/me/stuff/b
home/me/stuff/a
home/foo
和一个输出目录/tmp/extract
(必须事先创建),我们得到:
$ find /tmp/extract
/tmp/extract
/tmp/extract/b
/tmp/extract/a
请注意该文件foo
根本没有被提取。