tar 解压重命名

 

转自:https://www.cnblogs.com/bootoo/p/4678849.html

 

 

 

问题描述:

wget http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.6.15-linux-glibc2.5-i686.tar.gz

显然下载下来的文件就是:mysql-5.6.15-linux-glibc2.5-i686.tar.gz

有时候这样的文件名不便于shell脚本的自动化操作,在特定条件下你希望将“mysql-5.6.15-linux-glibc2.5-i686.tar.gz” 变为 “mysql-5.6.15.tar.gz”,于是大家都会像下面这样做:

 

wget -O mysql-5.6.15.tar.gz  http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.6.15-linux-glibc2.5-i686.tar.gz

好,现在已经得到了是“mysql-5.6.15.tar.gz”这样的文件名了。但是,接着你将“mysql-5.6.15.tar.gz”解压后就会发现好像不是你想要的,如下:

 

tar -zxvf mysql-5.6.15.tar.gz

mysql-5.6.15-linux-glibc2.5-i686 (这就是解压后的文件名)

如何保证“mysql-5.6.15.tar.gz”解压后的文件名就是“mysql-5.6.15”呢?

 

完整解决过程:

wget -O mysql-5.6.15.tar.gz  http://oss.aliyuncs.com/aliyunecs/onekey/mysql/mysql-5.6.15-linux-glibc2.5-i686.tar.gz

mkdir ./mysql-5.6.15 && tar -xzvf mysql-5.6.15.tar.gz -C ./mysql-5.6.15 --strip-components 1

这样就得到了“mysql-5.6.15”命名的解压文件。

 

–strip-components = NUMBER

在提取时从文件名中删除NUMBER个前导组件 

 

tar xf  xxx.tar.gz  -C  /usr/src/001
/usr/src/001/xxxxx/src/opp/lll.txt

tar xf  xxx.tar.gz   -strip-components=1   -C  /usr/src/001
 /usr/src/001/src/opp/lll.txt

 

 

 

posted @ 2020-08-17 14:31  feiquan  阅读(10143)  评论(0编辑  收藏  举报
如果是此文是转载文章,本人会附上转载链接,此篇文章的版权归原创作者所属,如果侵权请与我联系,我会删除此文。

若没有标明转载链接,此篇文章属于本人的原创文章,其版权所属:
作者:feiquan
出处:http://www.cnblogs.com/feiquan/
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
大家写文都不容易,请尊重劳动成果~ 这里谢谢大家啦(*/ω\*)