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


407

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


常规的unix归档文件是否可以这样做?(tar / gzip / bz2 /等)
ThorSummoner 2014年

焦油电视 如果是.gz,请添加一个z。对于bz2,添加j。还有很多,请查看手册页。
犹他州Jarhead

Answers:


469

less实用程序可以浏览zip存档。事实上,如果你看的输出unzip -l zipfileless zipfile,你会发现它们是相同的。


98
请注意,less zipfile在MacOS-X上显示的是二进制文件内容,因此您会看到很多垃圾而不是zip文件的内容。然后,您应该选择“ùnzip-l zipfile”
heiglandreas 2013年

10
@ayaz在哪个系统中列出的zip文件更少?我看到评论说它不适用于MAC,Ubuntu,在这里我使用Debian。Debian还显示了二进制垃圾。
Beco博士

12
在Ubuntu中,尝试view [zipfile]
塞缪尔·兰帕2014年

4
错误。unzip -l可以很好地显示zip归档文件中的文件,但是在许多情况下,很少提供二进制内容,这当然是一团糟。
Arturas M 2014年

17
您需要lesspipe安装帮助程序,以减少对zip文件的支持。它是许多Linux系统上的标准配置,但不是OSX上的标准配置,但是您可以通过brew安装它。
pimlottc 2015年


65

列出压缩内容:

zipinfo -1 myzipfile.zip

有关详细输出:

zipinfo myzipfile.zip

7
很好的答案,您不必仅为了获取文件名就解析输出。
Antoine Pelisse 2014年

34

请用

vim ZIP_FILE_NAME

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


5
不错,这也允许打开存档中的单个文件而无需进行解压缩
user3885927

非常出乎意料,非常方便!谢谢!
皮埃尔

实际上:如果unzip未安装在系统上,则无法使用。除此之外,太棒了!
sjas

13

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

mkdir foo.d
fuse-zip foo.zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

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

mountavfs
ls ~/.avfs/$PWD/foo.zip\#
cat ~/.avfs/$PWD/foo.zip\#/README
...
umountavfs

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

AVFS是只读的。Fuse-zip是可读写的,但请注意,更改仅在卸载时才写入zip文件,因此请不要开始阅读期望对其进行修改直到fusermount -u返回的存档。


很好,吉尔斯。谢谢。很快:可以仅通过“ cp”到目录来向其中添加文件吗?
Beco博士

@DrBeco有保险丝,是的。使用avfs,不可以。
吉尔斯2014年


2

实际上,unzip -l file.zip | grep "search"或者如果您有很多文件

for i in `ls *zip`; do 
  unzip -l $i | grep "search"; 
done

更新:为了搜索文件,从“ -p”更改为“ -l”。


2

如果您更注重图形,Midnight Commander也可以浏览zip文件,就像它们是常规目录一样。


1

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

我最喜欢使用@kinORnirvana给出的答案来生成一个包含 zip存档内容的文件。

zipinfo [-1] archive.zip > archive_content.txt

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

vim archive.zip

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

vim file.tar
vim file.tar.gz
vim file.tar.bz2

使用vimemacs,您可以:

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

在此处输入图片说明


0

(yaa)还有一个答案:

别名此命令:

alias vless='/usr/share/vim/vim73/macros/less.sh'

并且您可以vless file.zip用来利用vi(或vim减少)脚本。

(也可以代替较少,所以可以有颜色)


1
less -R 支持ANSI颜色。
西尔文·勒鲁
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.