How can I view the list of files in a ZIP archive without decompressing it?
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.
unzip -l files.zip | less
man unzip for more options
To list zip contents:
zipinfo -1 myzipfile.zip
For detailed output:
for the same. This is a simple and easy to remember one.
You can make the zip appear as a directory (in which you use
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.
At least in Ubuntu, the possibly easiest command is:
This will open up the file listing in your standard text editor (nano, vim etc).
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.
If you're more graphically oriented, Midnight Commander can also browse zip files as if they were regular directories.
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.
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.
(yaa) Yet another answer:
Alias this command:
and you can use
vless file.zip to take advantage of
vim) less script.
(also good to substitute less, so you can have colors)