1. tar解压tar包中指定文件
例如:在/home/xxl下面有个xxl.tar.gz包(是通过tar -zcvf xxl.tar.gz xxl/来创建的),我们可以用tar -ztvf xxl.tar.gz来查看xxl.tar.gz这个包中包含了什么文件,如果包中有个文件test.sql在xxl/date/目录下面,我现在需要解压出这个文件,其他文件不需要,我可以用下面的命令来解压出来:
tar -zxvf xxl.tar.gz ./ xxl/date/test.sql
和通常我们使用的解压缩命令主要区别是在解压缩文件名的后面加了./ 后面跟上压缩包里面的文件
经测试,上述命令行会出错:
tar: unload.dat.gz.20100617: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
tar: Child returned status 2
tar: .: Not found in archive
tar: usr/backup/txt/xuser.unl: Not found in archive
tar: Error exit delayed from previous errors
tar -zxvf xxl.tar.gz xxl/date/test.sql  <--常执行
2. tar解压tar包中指定文件夹
如果是要解压缩xxl/date文件夹,我们则可以使用如下命令:
tar -zxvf xxl.tar.gz ./ xxl/date (有误)
//后面直接跟压缩包里面的文件夹路径就可以了。
这时候在当前目录下面产生一个文件夹/xxl/date,里面就会有我想要的文件test.sql了,这样我就不需要对整个tar包来解包了
另外,还可以解压指定的文件到指定的文件夹
tar -zxvf xxl.tar.gz -C /home/xxl1/ xxl/date/test.sql (正确)
这是我们要的文件test.sql就会在/home/xxl1文件夹下面

3. linux下不解压查看tar.gz压缩包的文件列表

gunzip <test.tar.gz |tar tvf -

gzip -dc test.tar.gz | tar tvf -

本日志由 flyinweb 于 2010-07-09 10:29:20 发表到 Linux 中,目前已经被浏览 6105 次,评论 0 次;

作者添加了以下标签: extract archive