如何将子目录解压缩到当前目录中?

时间:2009-05-10 16:14:43

标签: unix command-line tar

如何将tarball中的子目录解压缩到当前目录?

示例,来自wordpress的tarball:

wordpress/
wordpress/wp-trackback.php
wordpress/wp-config-sample.php
wordpress/wp-settings.php
wordpress/wp-rss2.php
wordpress/readme.html
wordpress/index.php
...

如何将wordpress/下的所有内容提取到当前目录中?换句话说,它不会创建wordpress目录。

我试过这个没有运气:

tar xvfz latest.tar.gz wordpress -C ./

我知道我可以正常提取并将其移回,但我认为必须有一种方法可以一次性完成。

2 个答案:

答案 0 :(得分:87)

为什么你不正常解开,然后只是:

mv wordpress/.* .
mv wordpress/* .
rmdir wordpress

但是,唉,有:

tar --strip-components=1 -zxvf wordpress.tgz

答案 1 :(得分:6)

令人惊讶的是,我的tar(GNU tar v1.16)没有剥离初始路径名元素的选项。

然而,似乎更新版本带有--strip-components=number参数,这将从路径的开头剥离许多组件。

如果像我一样,您使用的是较旧的tar,并且您确定该存档不包含名为wordpress/wordpress的目录或文件,您可以随时从{{1}创建一个符号链接} wordpress,然后像往常一样提取:

.