在Linux上搜索gzip压缩存档文件的内容

用gzip压缩的压缩包通常有.tar.gz或者.tgz文件扩展名。

如果我们只查找少数文件,则在存档中提取数百或者数千个文件并没有多大意义。
在Linux上如何只提取gzip压缩包中的少量文件?

使用-t选项列出压缩gzip存档(或者任何类型的tar文件)的所有内容,“-f”选项用于指定我们的tar文件的名称。

$ tar -tf Linux-ISOs.tar.gz
  • 要获取有关文件的更多详细信息,例如大小,权限,所有者等,可以添加“-V”选项。
$ tar -tvf Linux-ISOs.tar.gz

要搜索特定文件,可以将其名称添加到命令。如果存档中未存在文件,则不会收到返回终端的任何输出。

$ tar -tf Linux-ISOs.tar.gz Slackware.iso

在搜索中使用通配符:

$ tar -tf Linux-ISOs.tar.gz *.iso

或者使用grep过滤压缩包文件列表, 其中 i选项进行不区分大小写搜索。

$ tar -tf Linux-ISOs.tar.gz | grep -i man

使用grep搜索多个关键字

$ tar -tf Linux-ISOs.tar.gz | grep -E "Slack|Pop"

还可以使用zgrep实用程序搜索文件名模式的多个压缩档案

$ zgrep Ubuntu *.gz

找到要提取的文件后,我们可以从GZIP存档中提取特定文件。

$ tar xvf Debian-based.tar.gz Ubuntu.iso
日期:2020-07-07 20:56:54 来源:oir作者:oir