首页 > 代码库 > [Linux] 解压tar.gz文件,解压部分文件
[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. 多个文件:貌似无法按照前面的办法解压,反正目地已经达到了