Liste der Dateien im ZIP-Archiv unter Linux anzeigen

407

Wie kann ich die Liste der Dateien in einem ZIP-Archiv anzeigen, ohne es zu dekomprimieren?

danidacar
quelle
Ist es möglich, dasselbe für ein reguläres Unix-Archiv zu tun? (tar / gzip / bz2 / etc)
ThorSummoner
tar tvf. Wenn .gz, fügen Sie ein z hinzu. Für bz2 füge j hinzu. Weitere Informationen finden Sie in der Manpage.
Utah Jarhead

Antworten:

469

Das lessDienstprogramm kann in ein zipArchiv spähen . Wenn Sie sich die Ausgaben von unzip -l zipfileund ansehen less zipfile, werden Sie feststellen, dass sie identisch sind.

Ayaz
quelle
98
Beachten Sie, dass less zipfileunter MacOS-X der binäre Dateiinhalt angezeigt wird, sodass Sie anstelle des Inhalts der Zip-Datei viel Müll sehen. Dann solltest du dich für das `` ùnzip -l zipfile```
heiglandreas 25.01.13
10
@ayaz In welchem ​​System werden weniger zip-Dateien aufgelistet? Ich sehe Kommentare, die besagen, dass es unter MAC, Ubuntu und hier unter Debian nicht funktioniert. Debian zeigt auch binären Müll.
Dr. Beco
12
Versuchen Sie es in Ubuntu view [zipfile].
Samuel Lampa
4
FALSCH. unzip -l funktioniert gut, um die Dateien in einem zip-Archiv anzuzeigen, aber weniger gibt in vielen Fällen binären Inhalt aus, und das ist natürlich ein Durcheinander.
Arturas M
17
Sie müssen den lesspipeHelper installiert haben, um die Unterstützung von ZIP-Dateien für weniger zu aktivieren. Es ist Standard auf vielen Linux-Systemen, aber nicht auf OSX, aber Sie können es mit Brew installieren.
Pimlottc
112

Versuchen unzip -l files.zip | less

Auch hierzu finden Sie man unzipfür weitere Optionen

Ken Ratanachai S.
quelle
6
Sie können die Pipe zum lessBefehl überspringen . Es ist jedoch eine großartige Idee in einer großen Sammlung von Dateien.
Omar
65

So listen Sie Zip-Inhalte auf:

zipinfo -1 myzipfile.zip

Für detaillierte Ausgabe:

zipinfo myzipfile.zip
kinORnirvana
quelle
7
Gute Antwort, Sie müssen die Ausgabe nicht analysieren, nur um Dateinamen zu erhalten.
Antoine Pelisse
34

Bitte verwende

vim ZIP_FILE_NAME

für das Selbe. Dies ist eine einfache und leicht zu merkende.

Rajasekhar Tolety
quelle
5
Nizza, dies ermöglicht es auch, einzelne Dateien im Archiv zu öffnen, ohne zu entpacken
user3885927
Ganz unerwartet und äußerst praktisch! Vielen Dank!
Pierre
Eigentlich: Dies funktioniert nicht, wenn unzipes nicht auf dem System installiert ist. Ansonsten super!
So
13

Sie können die ZIP als Verzeichnis erscheinen (in dem Sie verwenden cd, lsetc.) indem sie sie mit dem Montagesicherungs-zip virtuellen Dateisystem.

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

Ein weiteres relevantes FUSE- Dateisystem ist AVFS . Es wird eine Ansicht Ihrer gesamten Verzeichnishierarchie erstellt, in der allen Archiven ein Verzeichnis zugeordnet ist (derselbe Name wird #am Ende angeheftet), das den Archivinhalt zu enthalten scheint.

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

Viele moderne Dateimanager (zB Nautilus, Dolphin) zeigen Archivinhalte transparent an.

AVFS ist schreibgeschützt. Fuse-zip ist schreibgeschützt. Achten Sie jedoch darauf, dass Änderungen nur beim Aufheben des Ladevorgangs in die ZIP-Datei geschrieben werden. Beginnen Sie also nicht mit dem Lesen des Archivs und erwarten Sie, dass es bis zur fusermount -uRückkehr geändert wird .

Gilles
quelle
Schön, Giles. Vielen Dank. Nur eine kurze Beschreibung: Kann man Dateien hinzufügen, indem man "cp" in das Verzeichnis schreibt?
Dr. Beco
@DrBeco Mit Sicherungsreißverschluss, ja. Mit avfs nein.
Gilles
9

Zumindest in Ubuntu ist der möglicherweise einfachste Befehl:

view [zipfile]

Dadurch wird die Dateiliste in Ihrem Standard-Texteditor (Nano, Vim usw.) geöffnet.

Samuel Lampa
quelle
2

Es ist tatsächlich unzip -l file.zip | grep "search"oder wenn Sie viele Dateien haben

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

Update: Geändert von '-p' zu '-l', um nach Dateien zu suchen.

rauben
quelle
2

Wenn Sie grafisch orientiert sind, kann Midnight Commander auch ZIP-Dateien durchsuchen, als wären es normale Verzeichnisse.

Charles Burge
quelle
1

Eine umfassendere Lösung: vim || Emacs

Die vorherige Antwort von @kinORnirvana ist mein Favorit , um eine Datei mit dem Inhalt eines Zip-Archivs zu erstellen .

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

Ich empfehle jedoch vim oder emacs (nicht nano), wenn Sie eine Archivdatei durchsuchen oder sogar den Inhalt einer darin enthaltenen Datei anzeigen müssen.

vim archive.zip

Dieser Ansatz funktioniert auch mit anderen Archivformaten:

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

Mit Vim oder Emacs können Sie:

  • Durchsuchen Sie die Verzeichnisstruktur der Archivdatei.
  • Zeigen Sie den Inhalt einer beliebigen Datei in der Archivdatei an.

Bildbeschreibung hier eingeben

ePi272314
quelle
0

(yaa) Noch eine andere Antwort:

Alias ​​dieses Befehls:

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

und Sie können verwenden vless file.zip, um vi(oder vim) weniger Skript zu nutzen.

(auch gut, um weniger zu ersetzen, so dass Sie Farben haben können)

Dr. Beco
quelle
1
less -R Sie unterstützen ANSI Farben.
Sylvain Leroux