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

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM