[Linux] 解壓tar.gz文件,解壓部分文件


遇到數據庫無法查找問題原因,只能找日志,查找日志的時候發現老的日志都被壓縮了,只能嘗試解壓了

 

數據量比較大,只能在生產解壓了,再進行查找

文件名為*.tar.gz,自己博客以前記錄過解壓方法:

http://www.cnblogs.com/garinzhang/archive/2013/04/23/3037147.html

使用tar –zxvf *.tar.gz無法解壓,明明好好的tar.gz文件能這樣解壓的,為什么不能解壓?

 

后來想了想,是不是先要解壓*.gz文件,使用gunzip *.tar.gz進行解壓成功,解壓出來的文件名為:*.tar

由於日志文檔相關多,占用空間比較大,正在使用tar xvf *.tar進行解壓,發現解壓出來好多文件,而且時間很長,最終決定去中止解壓,心里想了想,是不是有方法只解壓一部分文件呢

 

於是搜索了一下,發現確實有此方法:

http://blog.chinaunix.net/uid-10697776-id-2935568.html

http://bbs.chinaunix.net/thread-1770627-1-1.html

文章中說的,可以使用以下方法查看壓縮文件里面的內容:

tar –tzvf *.tar.gz   (由於我此時是.tar文件,所以使用tar -tvf即可),查看確實能查看壓縮文件里的內容

使用以下方法進行解壓:

解壓單個文件:

tar –zxvf *.tar.gz /test/filename.txt

解壓多個文件:

tar –zxvf *.tar.gz /test/filenam*

解壓到指定目錄:

tar –zxvf *.tar.gz /text/filename.txt –C /opt/targetfolder

 

在我們生產上無法執行上面這些命令,查找相關文檔后發現是由於AIX跟其他版本的Linux不一樣導致:

0. 怕生產上解壓文件,將磁盤擠爆,先查詢一下磁盤情況(使用df -g,以GB方式顯示,-m以MB形式顯示),顯示還有63GB:

efbill_2:[/opt/oecs-g2/log/backup/compressed]#df -g
文件系統           GB 塊      可用 %Used    Iused %Iused     安裝於
/dev/hd4            5.00      4.52   10%    10570     1% /
/dev/hd2           48.00     45.26    6%    57427     1% /usr
/dev/hd9var        24.50     23.90    3%     8549     1% /var
/dev/hd3            5.00      4.84    4%      348     1% /tmp
/dev/fwdump         1.00      1.00    1%        6     1% /var/adm/ras/platform
/dev/hd1            5.00      5.00    1%       14     1% /home
/dev/hd11admin       5.00      5.00    1%        5     1% /admin
/proc                  -         -    -         -     -  /proc
/dev/hd10opt      119.50     63.32   48%    22030     1% /opt

1. 首先查看linux版本

efbill_2:[/opt/oecs-g2/log/backup/compressed]#cat /proc/version
Aug  6 2010
13:36:14
1032A_61L
@(#) _kdb_buildinfo unix_64 Aug  6 2010 13:36:14 1032A_61L
efbill_2:[/opt/oecs-g2/log/backup/compressed]#uname -a
AIX
efbill-2 1 6 00F764BD4C00

2. 搜索關鍵字:aix tar.gz 解壓,找到答案:

http://blog.sina.com.cn/s/blog_4b055d6b0100s711.html

在AIX上最常見的壓縮文件就是.tar檔了,而除了tar文件以外,有時會遇到數據是用其它的壓縮文件格式,所以偶順手整理了一些常見的壓縮文件格式,在AIX要怎么解壓縮 :

*.tar.Z file format

o 壓縮§ # compress filename.tar

o 解壓§ # zcat filename.tar.Z | tar -xvf -

*.tar.gz file format

o 壓縮§ # tar cvf - folder | gzip > filename.tar.gz

o 解壓§ # gunzip -c filename.tar.gz | tar -xvf -

*.zip file format (注1)

o 解壓§ # unzip filename.zip

*.tgz file format

o 解壓§ # gzip -d filename.tgz | tar -xvf -

注1 : 注意,AIX預設並沒有裝unzip的程序,可以去這邊抓下來安裝。

3. 解壓成功,再次需要嘗試是否能只解壓一部分文件出來

結合上面部分解壓文件,嘗試過好幾次終於找出辦法:

1. 顯示出所有文件:

efbill_2:[/opt/oecs-g2/log/backup/compressed]#gunzip -c 20140401_09.tar.gz | tar –tvf -

2. 解壓出部分文件:

單個文件:

efbill_2:[/opt/oecs-g2/log/backup/compressed]#gunzip -c 20140401_09.tar.gz | tar -xvf - 20140407110630/billing.log.40

3. 多個文件:貌似無法按照前面的辦法解壓,反正目地已經達到了


免責聲明!

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



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