如何在不解压缩的情况下列出zip存档中的文件?

时间:2013-03-20 07:31:26

标签: linux bash shell unix zip

如何从命令shell获取等效的ls .zip文件(不是gzip),而不解压缩?也就是说,如何列出在.zip存档中压缩的不同文件?

10 个答案:

答案 0 :(得分:47)

Use unzip with -l选项:

unzip -l file.zip

答案 1 :(得分:7)

Perreal's answer是对的,但我建议安装atool(在您的发行版的软件包管理器中查找)。然后,对于任何类型的存档文件,bzip2,gzip,tar ...你只需要记住一个命令:

als archive_name

答案 2 :(得分:5)

zipinfo -1 filename.zip

它只返回文件名,而不再返回示例(响应):

listing.html
my_data.csv
super.txt

答案 3 :(得分:4)

less实用程序可以窥视zip档案。

Less与Unix捆绑在一起,不需要安装als。 输出是可滚动的(分页的),并且不会将内容记录到终端(与其他答案中提到的unzip -l不同)。

根据https://superuser.com/a/216675/249975

因此只需使用less filename.zip

欢呼!

答案 4 :(得分:3)

在Debian / Ubuntu中使用lesspipe,它还可以列出许多其他存档类型:

     *.arj
     *.tar.bz2
     *.bz
     *.bz2
     *.deb, *.udeb
     *.doc
     *.gif, *.jpeg, *.jpg, *.pcd, *.png, *.tga, *.tiff, *.tif
     *.iso, *.raw, *.bin
     *.lha, *.lzh
     *.pdf
     *.rar, *.r[0-9][0-9]
     *.rpm
     *.tar.gz, *.tgz, *.tar.z, *.tar.dz
     *.gz, *.z, *.dz
     *.tar
     *.jar, *.war, *.xpi, *.zip
     *.zoo

用法:

lesspipe file.zip

reference

答案 5 :(得分:1)

使用此命令在不解压缩的情况下查看压缩文件的内容

unzip -l file.zip

我们可以使用的tar文件

zcat <archived-file>

答案 6 :(得分:1)

我将添加以下选项,因为我发现这是迄今为止最方便的方法(浏览2GB tar的内容以及成千上万个文件和目录)。

使用archivemount对我来说是最有用的方法。

此操作如下:

mkdir mount-point
archivemount archive.tar.gz mountpoint
cd mount-point

umount mount-point

说明

您需要创建一个空文件夹作为安装点。最简单的方法是,按照上面的示例,在拥有存档文件的文件夹中创建该文件夹。尽管您可以在任意位置创建它。只需在命令中相应地更改mount-point

一旦cd进入mount-point文件夹,您将拥有一个普通的Linux文件夹和文件树,可使用本来用于探索,查找,分类,编辑, ls等Linux中的文件夹和文件。非常方便。

完成后,使用umount卸载归档文件

请注意,您可能需要先安装archivemount。例如sudo apt install archivemount

为什么我觉得这很有用

我基本上想要一种简单的方法来研究大型tar文件的内容。仅具有大量文本输出(成千上万行)的文件夹和文件名对我来说并不是特别有用。即使在想出通过其他后处理器传送内容的方式之后。

您可以对zip文件,tar文件以及使用gzip,bzip或compress压缩的文件使用此方法。

archivemount的完整详细信息为here

here是其中一个很好的文字。

(来自该文章的)引言总结了该工具的灵活性:

[因为通过FUSE提供的archivemount]通过Linux内核公开其文件系统,所以您可以使用任何应用程序将文件直接加载和保存到此类已安装的归档文件中。这样,您就可以对仍在存档文件中的文件使用自己喜欢的文本编辑器,图像查看器或音乐播放器。更进一步,因为archivemount还支持某些档案格式的写访问权限,所以您也可以直接从档案内部编辑文本文件。

答案 7 :(得分:1)

如果您想浏览单个压缩文件,请尝试使用 zless。当 zip 包含多个文件时,这可能不太有用。

根据手册页的描述:

<块引用>

Zless 是一种过滤器,它允许在软拷贝终端上一次一屏地检查压缩或纯文本文件。它相当于将环境变量 LESSOPEN 设置为 '|gzip -cdfq -- %s',并将环境变量 LESSMETACHARS 设置为 ';*?"()<>[|&^`#$% =~',然后运行更少。然而,似乎有足够多的人认为拥有 zless 命令对于值得提供它很重要。

其他一些方便的“z”实用程序是 zcat 和 zmore(在前面的答案中提到过)、zdiff 和 zgrep。

关于回答原始问题,如何查看 zip 的内容,我更喜欢 zipinfo 后跟 unzip -l。

答案 8 :(得分:0)

您也可以使用“zmore archive_name”。 它将列出存档及其内容。

答案 9 :(得分:0)

要在Linux主机上列出/查看压缩文件的内容而不解压缩它(以及安装GZIP的地方),请使用&#34; zcat&#34;命令。

zcat压缩文件名|更多