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

如何将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/到当前目录下的所有内容? 换句话说,它不会创build一个wordpress目录。

我已经试过这个没有运气:

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

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

为什么你不正常解压,那么只是:

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

但是,唉,有:

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

令人惊讶的是,我的tar (GNU tar v1.16)没有选项去除初始path名元素。

但是,似乎更新的版本会包含一个--strip-components=number参数,这会从path的开头剥离许多组件。

如果像我一样,你使用的是较老的tar ,而且你确信这个档案没有包含一个名为wordpress/wordpress的目录或者文件,你可以随时在wordpressbuild立一个符号链接. ,然后照常提取:

 ln -s . wordpress tar xvfz latest.tar.gz wordpress rm wordpress