Cor*_*ing 51 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
...
Run Code Online (Sandbox Code Playgroud)
如何将所有内容解压缩wordpress/到当前目录中?换句话说,它不会创建wordpress目录.
我试过这个没有运气:
tar xvfz latest.tar.gz wordpress -C ./
Run Code Online (Sandbox Code Playgroud)
我知道我可以正常提取并将其移回,但我认为必须有一种方法可以一次性完成.
kch*_*kch 89
你为什么不正常解开,然后就是:
mv wordpress/.* .
mv wordpress/* .
rmdir wordpress
Run Code Online (Sandbox Code Playgroud)
但是,唉,有:
tar --strip-components=1 -zxvf wordpress.tgz
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,我的tar(GNU tar v1.16)没有剥离初始路径名元素的选项.
然而,似乎更新版本带有一个--strip-components=number参数,这将从路径的开头剥离许多组件.
如果你像我一样使用的是旧的tar,你是一定的压缩文件不包含一个新的目录或文件wordpress/wordpress,你总是可以只让一个符号链接从wordpress到.,然后解压像往常一样:
ln -s . wordpress
tar xvfz latest.tar.gz wordpress
rm wordpress
Run Code Online (Sandbox Code Playgroud)