668

How can I view the list of files in a ZIP archive without decompressing it?

DavidPostill
  • 153,128
  • 77
  • 353
  • 394
johnlemon
  • 7,233
  • 3
  • 18
  • 16

12 Answers12

759

The less utility is capable of peeking into a zip archive. In fact, if you look at the outputs of unzip -l zipfile and less zipfile, you will find them to be identical.

ayaz
  • 11,068
  • 1
  • 21
  • 26
194

Try unzip -l files.zip Or unzip -l files.zip | less if there are too many files to be listed in one page.

Also, See man unzip for more options

Ken Ratanachai S.
  • 2,242
  • 1
  • 13
  • 12
  • 12
    You can skip the pipe to `less` command. It is great idea in a big collection of files, though. – omar Jul 09 '14 at 14:39
  • You can also add `-v` argument to include verbose details about compression for each file. – kevinarpe Mar 06 '22 at 14:26
128

To list zip contents:

zipinfo -1 myzipfile.zip

For detailed output:

zipinfo myzipfile.zip
kinORnirvana
  • 1,391
  • 1
  • 8
  • 5
68

Please use

vim ZIP_FILE_NAME

for the same. This is a simple and easy to remember one.

Kevin Panko
  • 7,346
  • 22
  • 44
  • 53
17

You can make the zip appear as a directory (in which you use cd, ls, etc.) by mounting it with the fuse-zip virtual filesystem.

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

Another relevant FUSE filesystem is AVFS. It creates a view of your entire directory hierarchy where all archives have an associated directory (same name with # tacked on at the end) that appears to hold the archive content.

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

Many modern file managers (e.g. Nautilus, Dolphin) show archive contents transparently.

AVFS is read-only. Fuse-zip is read-write, but beware that changes are only written to the zip file at unmount time, so don't start reading the archive expecting it to be modified until fusermount -u returns.

Gilles 'SO- stop being evil'
  • 69,786
  • 21
  • 137
  • 178
15

At least in Ubuntu, the possibly easiest command is:

view [zipfile]

This will open up the file listing in your standard text editor (nano, vim etc).

Samuel Lampa
  • 615
  • 1
  • 6
  • 10
7

A more comprehensive solution: vim || emacs

The previous answer by @kinORnirvana is my favorite to produce a file with the content of a zip archive.

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

However, I recommend vim or emacs (not nano) if you need to browse into an archive file or even to view the content of a file contained inside it.

vim archive.zip

This approach works with other archive formats too:

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

With vim or emacs you can:

  • browse the directory structure of the archive file.
  • view the content of any file inside the archive file.

enter image description here

ePi272314
  • 281
  • 1
  • 3
  • 9
2

If you're more graphically oriented, Midnight Commander can also browse zip files as if they were regular directories.

Charles Burge
  • 2,100
  • 1
  • 8
  • 14
2

Its actually unzip -l file.zip | grep "search" or if you have a lot of files

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

Update: Changed from '-p' to '-l' in order to search for files.

omar
  • 103
  • 4
Rob
  • 21
  • 1
1

(yaa) Yet another answer:

Alias this command:

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

and you can use vless file.zip to take advantage of vi (or vim) less script.

(also good to substitute less, so you can have colors)

DrBeco
  • 1,915
  • 2
  • 17
  • 16
0

it is possible to peek inside also with zmore, zless, zcat, but with vim is in a structured way

Petronella
  • 101
  • 1
-1

Try this -

zipdetails yourFileName.zip
URL87
  • 305
  • 3
  • 11
  • 23
  • 2
    Could you possibly include some example outputs? Is zipdetails part of the standard Linux kernel or would the OP need to install this separately? – Burgi Feb 10 '20 at 15:46
  • 1
    Wouldn't it be better to use `zipdetails yourFileName.zip | grep "Filename "`? – zx485 Feb 10 '20 at 23:24
  • 1
    `Zipdetails displays information about the internal record structure of zip files. It is not concerned with displaying any details of the compressed data stored in the zip file.` zipinfo seems much more appropriate here – xeruf Oct 15 '21 at 10:27
  • @zx485 Using Redhat 7, I'm unable to use any commands in other answers, and we're unable to request to install anything on that server. Your solution was useful, thanks! – Metafaniel Aug 03 '22 at 00:09