在 Linux 上查看 ZIP 存档中的文件列表

joh*_*mon 542 linux zip

如何在不解压的情况下查看 ZIP 存档中的文件列表?

aya*_*yaz 630

less实用程序能够查看zip档案。事实上,如果您查看unzip -l zipfileand的输出less zipfile,您会发现它们是相同的。

  • 请注意,MacOS-X 上的 ```less zipfile``` 显示二进制文件内容,因此您会看到大量垃圾而不是 zip 文件的内容。然后你应该选择``ùnzip -l zipfile``` (144认同)
  • 您需要安装 ``lesspipe`` 帮助程序以启用对 less 的 zip 文件支持。它是许多 Linux 系统的标准配置,但不是 OSX 系统的标准配置,但您可以使用 brew 安装它。 (29认同)
  • 在 Ubuntu 中,尝试 ```view [zipfile]```。 (19认同)
  • @ayaz 在哪个系统中较少列出 zipfiles?我看到评论说它在 MAC、Ubuntu 上不起作用,在这里我使用 Debian。Debian 还显示二进制垃圾。 (15认同)
  • 使用“less”是一个巧妙的技巧,但“unzip -l”似乎是规范的答案,尤其是。鉴于这是一个更普遍的答案。 (12认同)
  • 错误的。unzip -l 可以很好地显示 zip 存档中的文件,但在许多情况下较少给出二进制内容,这当然是一团糟。 (6认同)
  • `zipinfo myFile.zip` 产生更多信息,特别是它列出了 UNIX 文件权限,而 `unzip -l` 则不那么冗长。我的评论基于 2009 年 4 月的 zipinfo 3.0 和 unzip 6.0。 (2认同)

Ken*_* S. 159

尝试 unzip -l files.zip | less

另外,查看man unzip更多选项

  • 您可以跳过管道到 `less` 命令。不过,在大量文件中这是个好主意。 (10认同)

小智 100

列出 zip 内容:

zipinfo -1 myzipfile.zip
Run Code Online (Sandbox Code Playgroud)

详细输出:

zipinfo myzipfile.zip
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案,您不必为了获取文件名而解析输出。 (8认同)
  • 那应该是“1”而不是“l”吗? (2认同)
  • @MathiasLykkegaardLorenzen 根据 `man zipinfo`:`-1 仅列出文件名,每行一个。此选项排除所有其他选项;标题、预告片和 zip 文件注释永远不会被打印。它旨在用于 Unix shell 脚本。 (2认同)

小智 54

请用

vim ZIP_FILE_NAME
Run Code Online (Sandbox Code Playgroud)

对于相同的。这是一个简单易记的方法。

  • 不错,这也允许在不解压缩的情况下打开存档中的单个文件 (7认同)

Gil*_*il' 17

您可以使拉链显示为一个目录(在您使用cdls通过与安装它,等)保险丝-ZIP虚拟文件系统。

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d
Run Code Online (Sandbox Code Playgroud)

另一个相关的FUSE文件系统是AVFS。它创建了整个目录层次结构的视图,其中所有档案都有一个关联的目录(与#末尾相同的名称),似乎保存档案内容。

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs
Run Code Online (Sandbox Code Playgroud)

许多现代文件管理器(例如 Nautilus、Dolphin)透明地显示存档内容。

AVFS 是只读的。Fuse-zip 是可读写的,但请注意,更改仅在卸载时写入 zip 文件,因此不要开始读取存档,期望它在fusermount -u返回之前被修改。


Sam*_*mpa 13

至少在 Ubuntu 中,可能最简单的命令是:

view [zipfile]
Run Code Online (Sandbox Code Playgroud)

这将在您的标准文本编辑器(nano、vim 等)中打开文件列表。


ePi*_*314 8

更全面的解决方案:vim || emacs

@kinORnirvana 之前的回答是我最喜欢生成一个包含 zip 存档内容的文件。

zipinfo [-1] archive.zip > archive_content.txt
Run Code Online (Sandbox Code Playgroud)

但是,如果您需要浏览存档文件甚至查看其中包含的文件内容,我建议您使用vimemacs (不是 nano)。

vim archive.zip
Run Code Online (Sandbox Code Playgroud)

此方法也适用于其他存档格式:

vim file.tar
vim file.tar.gz
vim file.tar.bz2
Run Code Online (Sandbox Code Playgroud)

使用vimemacs,您可以:

  • 浏览存档文件的目录结构。
  • 查看存档文件内任何文件的内容。

在此输入图像描述