it-swarm-ru.tech

Посмотреть список файлов в Zip архиве на Linux

Как я могу просмотреть список файлов в Zip-архиве, не распаковывая его?

372
danidacar

Утилита less может просматривать архив Zip. Фактически, если вы посмотрите на выходные данные unzip -l zipfile и less zipfile, вы обнаружите, что они идентичны.

433
ayaz

Попробуйте unzip -l files.Zip | less

Также см. man unzip для дополнительных опций

105
Ken Ratanachai S.

Для просмотра содержимого Zip:

zipinfo -1 myzipfile.Zip

Для подробного вывода:

zipinfo myzipfile.Zip
54
kinORnirvana

Пожалуйста, используйте

vim Zip_FILE_NAME

для того же. Это простой и легко запоминающийся.

29
Rajasekhar Tolety

Вы можете сделать так, чтобы Zip отображался как каталог (в котором вы используете cd, ls и т.д.), Смонтировав его с Fuse-Zip виртуальной файловой системой.

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.

12
Gilles

По крайней мере, в Ubuntu, возможно, самая простая команда:

view [zipfile]

Это откроет список файлов в вашем стандартном текстовом редакторе (nano, vim и т.д.).

9
Samuel Lampa

Если вы более ориентированы на графику, Midnight Commander также может просматривать Zip-файлы, как если бы они были обычными каталогами.

2
Charles Burge

Это на самом деле unzip -l file.Zip | grep "search" или если у вас много файлов

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

Обновление: изменено с '-p' на '-l' для поиска файлов.

1
Rob

Более комплексное решение

Предыдущий ответ @kinORnirvana - мой любимый способ создания файла с содержимым Zip-архива.

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

Тем не менее, я рекомендую vim или emacs (не nano), если вам нужно просмотреть архивный файл или даже просмотреть содержимое файла, содержащегося в нем.

vim archive.Zip

Этот подход работает и с другими форматами архивов:

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

С vim или emacs вы можете:

  • просмотрите структуру каталогов архива.
  • просмотреть содержимое любого файла внутри файла архива.
0
ePi272314

(да) Еще один ответ:

Псевдоним этой команды:

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

и вы можете использовать vless file.Zip, чтобы использовать vi (или vim) меньше скрипта.

(также полезно заменить меньше, так что вы можете иметь цвета)

0
Dr Beco