Ich möchte den Inhalt (Liste der Dateien und Ordner) eines Archivs sehen, zum Beispiel eine tar.gz
Datei, ohne sie zu extrahieren .
Gibt es Methoden, um das zu tun?
command-line
Avinash Raj
quelle
quelle
tar -tvf xxx.tgz
Dies würde auch detaillierte Eigenschaften von Dateien anzeigen.tree
tar -tf filename.tar.gz | tree
unzip -l
/unrar -l
Sie können auch vim verwenden
quelle
ex +%p foo.tar.gz
.vim file.tar.gz
) öffnen , heißt es "Wählen Sie eine Datei mit dem Cursor und drücken Sie ENTER". Sie tun genau das, bewegen den Cursor über eine Datei und drücken ENTER.less
kann auchgz
komprimierte und unkomprimiertetar
Archive öffnen . Es gibt Ihnen auch eine schönels -l
Stilausgabe:Und weil es so ist
less
, können Sie es durchblättern, durchsuchen usw. Allerdings scheitert es kläglich an anderen Komprimierungsalgorithmen (nach meiner Erfahrung).quelle
alias
speziellen Optionen habenless
, die Sie hier nicht anzeigen? Ich habe gerade versucht, das zu sehen, aber es hat nicht funktioniert. Ich habe keine Aliase für eingerichtetless
.Sie könnten die z Befehl:
zcat
,zless
,zgrep
.So zeigen Sie den Inhalt einer Datei an:
Um etwas zu greifen, benutze:
Um den Unterschied zwischen Dateien zu überprüfen, verwenden Sie:
Dies sind nur einige Beispiele, es gibt viele weitere.
quelle
tar
Mit der-t
Flagge von wird der Inhalt für Sie aufgelistet. Fügen Sie das Ihren anderen Flags hinzu (also-tvfz
nach atar.gz
,-tvfj
nach atar.bz2
usw.), und Sie können ohne Extrahieren browsen. Von dort aus können Sie ganz einfach einzelne Dateien extrahierenDas große Problem dabei
tar
ist, sich alle anderen Flags zu merken . Daher verlasse ich mich normalerweise auf7z
(desp7zip-full
Pakets), um meine gesamte Archivierung durchzuführen. Ich behaupte nicht, dass es ganz besser ist, aber es unterstützt fast alles (ohne Komprimierungstyp angeben zu müssen) und die Argumente sind logisch.Es ist sicherlich weniger in der Lage, aber Sie nicht brauchen , die man - Seite , es zu benutzen.
Es gibt auch Midnight Commander (
mc
). Dies ist ein Allround-Problem für die quasi-grafische, terminalbasierte Dateiverwaltung. Mit ein paar Lichttests können Sie sowohl in.tar.gz
als auch in.7z
Archiven browsen . Ich bin nicht sicher, wie viele andere es unterstützt.quelle
Nun, das hängt von der Datei ab. Die meisten (De-) Komprimierungsprogramme haben ein Flag, das den Inhalt eines Archivs auflistet.
tar
/tar.gz
/tgz
/tar.xz
/tar.bz2
/tbz
Dateienzip
Dateien7zip
Dateienrar
DateienDas sind die meisten gängigen Archivformate. Vor diesem Hintergrund könnten Sie ein kleines Skript schreiben, das den entsprechenden Befehl verwendet, abhängig von der Erweiterung der Datei, die Sie ihm geben:
Speichern Sie das Skript in Ihrem
PATH
und machen Sie es ausführbar. Sie können dann den Inhalt eines beliebigen Archivs auflisten:Und da jemand diesen kleineren Editor erwähnt hat, kann Emacs dies natürlich auch:
quelle
Warum nicht benutzen,
vim
um Ihr Archiv zu durchsuchen und Dateien zu öffnen (zumindest textähnliche Dateien):Drücken Sie die Pfeiltasten Enter, um einen Bildlauf durchzuführen und eine Datei zu öffnen.
quelle
Midnight Commander (
mc
) hat auch einen guten komprimierten Datei - Viewer, obwohl ich das ein bisschen Betrug betrachten , da mc ist ein Dateimanager, wenn auch ein textbasiertes ein.Wenn Sie nur sehen möchten, was sich in komprimierten Archiven befindet, können Sie den Befehl "view" für jeden Kompressor lernen.
tar tzvf
zeigt Ihnen den Inhalt einer TAR-Datei,unzip -l
macht dies für eine ZIP-Datei und so weiter.quelle
Verwenden
view filename.tar.gz
wird auch funktionieren. Ähnlich wie vim, jedoch ohne Schreibrechte.quelle
lesspipe
ist ein Shell-Skript, das standardmäßig als Teil desless
Pakets installiert wird und den Inhalt einestar.gz
Archivs sowie eine Reihe anderer gängiger Archivdateiformate auflisten kann.Es wird vom
less
Befehl ( siehe Olis Antwort ) als Eingabe-Präprozessor aufgerufen, wenn die$LESSOPEN
Umgebungsvariable entsprechend eingestellt ist.Wenn Sie sich abenteuerlustig fühlen, werfen Sie einen
vi /usr/bin/lesspipe
Blick darauf, welche Befehle verwendet werden. Bei Dateien, die mit dertar.gz
Erweiterung übereinstimmen , sehen wir, dass sietar tzvf
unter der Haube zusammen mit der--force-local
Option zum Deaktivieren einer dunklen Funktion verwendet werdentar
, die ansonsten Doppelpunkte im Dateinamen mit einem Befehl zur Verwendung eines Remote-Bandlaufwerks verwechseln würde :Beachten Sie, dass es, da es hauptsächlich als Präprozessor für entwickelt wurde
less
, nichts ausgibt, wenn es den Dateityp nicht erkennt. Ich habe festgestellt, dass einige.tar.gz
Dateien, die ich heruntergeladen habe, nicht funktionieren, da sie trotz des Dateinamens keine gzip-Komprimierung verwenden.quelle
Wenn Sie den Inhalt einer bestimmten Datei in einem Archiv anzeigen möchten, ohne das Archiv zu extrahieren oder auf die Festplatte zu schreiben, verwenden Sie das Flag -O (Großbuchstabe o), um anstelle einer Datei in stdout zu schreiben.
Stellen Sie sicher, dass das O vor dem f steht, da sonst versucht wird, das O als Dateinamen zu analysieren.
quelle