如何将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 ./
我知道我可以正常提取并将其移回,但我认为必须有一种方法可以一次性完成。
答案 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
,然后像往常一样提取:
.