(list, test and extract compressed files in a ZIP archive)
unzip zeigt Dateien in einem ZIP-Archiv an und testet oder extrahiert diese. Das Standardverhalten (ohne Optionen) besteht darin, alle Dateien aus dem angegebenen ZIP-Archiv in das aktuelle Verzeichnis (und die Unterverzeichnisse darunter) zu extrahieren. Ein dazu passendes Programm (zip) erstellt ZIP-Archive. Beide Programme sind mit Archiven kompatibel, die von PKZIP und PKUNZIP von PKWARE erstellt wurden, aber in vielen Fällen weichen die Programmoptionen oder Standardverhalten voneinander ab.
Syntax
unzip [-Z] [-option ...] [-modifier ...] [-P password] zipfile [file ...] [-x xfile ...] [-d exdir] |
Pfad der ZIP-Archive. Wenn die Dateispezifikation Wildcards enthält, wird jede übereinstimmende Datei verarbeitet. Nur der Dateiname kann Wildcards enthalten, der Rest des Pfades nicht. Wenn keine Übereinstimmungen gefunden werden, wird davon ausgegangen, dass die Spezifikation der Dateiname ist. Falls auch dies nicht zutrifft, wird das Suffix .zip angehängt. Beachten Sie, dass selbstextrahierende ZIP-Archive wie bei jedem anderen ZIP-Archiv unterstützt werden.
Eine optionale Liste von zu verarbeitenden Archivelementen, getrennt durch Leerzeichen.
Eine optionale Liste von Archivelementen, die von der Verarbeitung ausgeschlossen werden sollen.
Ein optionales Verzeichnis, in das Dateien extrahiert werden. Standardmäßig werden alle Dateien und Unterverzeichnisse im aktuellen Verzeichnis neu erstellt. Die Option -d ermöglicht das Extrahieren in ein beliebiges Verzeichnis. Diese Option muss nicht am Ende der Kommandozeile angegeben werden. Sie ist auch vor der Spezifikation des ZIP-Archivs (mit den normalen Optionen), unmittelbar nach der Spezifikation des ZIP-Archivs oder zwischen den Dateien und der Option -x zulässig. Optionen
zipinfo-Modus. Wenn die erste Option in der Kommandozeile -Z ist, wird davon ausgegangen, dass die übrigen Optionen zipinfo-Optionen sind. Auf der entsprechenden Handbuchseite finden Sie eine Beschreibung dieser Optionen.
Vorhandene Dateien aktualisieren (freshen), d. h. nur die Dateien extrahieren, die sich bereits auf dem Datenträger befinden und die neuer als die Datenträgerkopien sind. Standardmäßig sendet unzip vor dem Überschreiben Abfragen, aber diese Abfragen können mit der Option -o unterdrückt werden.
Archivdateien angeben (kurzes Format). Die Namen, die unkomprimierten Dateigrößen und die Änderungszeitstempel der angegebenen Dateien werden zusammen mit der Gesamtanzahl aller angegebenen Dateien ausgegeben.
Extrahierte Dateien auf die Standard-Ausgabe ausgeben. Es werden nur die Dateiinhalte (ohne Metadaten) zu stdout gesendet, und die Dateien werden immer im Binärformat extrahiert, genau so, wie sie gespeichert sind (keine Konvertierungen).
Archivdateien testen. Diese Option extrahiert jede angegebene Datei im Speicher und vergleicht den CRC-Wert (Cyclic Redundancy Check, eine erweiterte Prüfsumme) der Datei mit dem im ZIP-Archiv gespeicherten CRC-Wert.
Zeitstempel der Archive auf den der neuesten Datei im jeweiligen Archiv festlegen.
Vorhandene Dateien aktualisieren und bei Bedarf neue erstellen. Diese Option führt dieselbe Funktion wie die Option -f aus und extrahiert (mit Abfrage) Dateien, die neuer sind als die mit demselben Namen auf dem Datenträger. Außerdem extrahiert sie die Dateien, die noch nicht auf dem Datenträger vorhanden sind.
Archivdateien anzeigen (ausführliches Format) oder Versionsinformationen anzeigen. Diese Option hat zwei Zwecke: Wenn ein ZIP-Archiv ohne andere Optionen angegeben ist, zeigt -v eine Liste der archivierten Dateien im ausführlichen Format an. Zusätzlich zu den Basisinformationen werden mit der Option -l werden die Komprimierungsmethode, die komprimierte Größe, das Komprimierungsverhältnis und 32-Bit-CRC angezeigt. Wenn kein ZIP-Archiv angegeben ist (d. h., das vollständige Kommando ist einfach "
Nur den Archivkommentar anzeigen. Modifizierer
Textdateien umwandeln. Normalerweise werden alle Dateien genau so extrahiert, wie sie gespeichert wurden (als "binäre" Dateien). Die Option -a bewirkt, dass Dateien, die von zip als Textdateien identifiziert wurden (Bezeichnung 't', und nicht 'b' in zipinfo-Listen), automatisch als solche extrahiert werden, wobei Zeilenenden, Zeichen am Dateiende und der Zeichensatz bei Bedarf an das Zielsystem angepasst werden.
Alle Dateien als Binärdateien behandeln (keine Textkonvertierungen).
Sicherungskopie von jeder überschriebenen Datei speichern. An die Sicherungsdatei wird der Name der Zieldatei mit einer Tilde und optional einer eindeutigen Sequenznummer (bis zu 5 Ziffern) angehängt. Die Sequenznummer wird immer dann angehängt, wenn eine andere Datei mit dem ursprünglichen Namen und Tilde bereits vorhanden ist. Bei einer Verwendung zusammen mit der Option "overwrite all" (-o) werden keine nummerierten Sicherungsdateien erstellt. In diesem Fall werden alle Sicherungsdateien wie die ursprüngliche Datei mit einer angehängten Tilde benannt, und vorhandene Sicherungsdateien werden ohne Warnung gelöscht.
Wildcard-Prüfung ohne Unterscheidung zwischen Groß- und Kleinschreibung für die Auswahl von Archiveinträgen verwenden. Beachten Sie, dass sich die Option -C weder auf die Suche nach ZIP-Archiven noch auf die Wildcard-Prüfung von Archiveinträgen mit vorhandenen Dateien auf dem Extraktionspfad auswirkt. Auf einem Dateisystem mit Unterscheidung zwischen Groß- und Kleinschreibung versucht unzip niemals, eine Datei FOO zu überschreiben, wenn ein Element foo extrahiert wird.
Wiederherstellung von Zeitstempeln für extrahierte Elemente überspringen. Normalerweise versucht unzip, alle Metadaten für extrahierte Elemente, die im ZIP-Archiv bereitgestellt werden (und weder Rechte erfordern noch ein Sicherheitsrisiko darstellen), wiederherzustellen. Durch die Angabe -D wird unzip angewiesen, die Wiederherstellung von Zeitstempeln für Verzeichnisse, die explizit aus Elementen des ZIP-Archivs erstellt wurden, zu unterdrücken. Die duplizierte Option -DD erzwingt die Unterdrückung der Zeitstempelwiederherstellung für alle extrahierten Elemente (Dateien und Verzeichnisse). Diese Option führt dazu, dass die Zeitstempel für alle extrahierten Elemente auf die aktuelle Zeit festgelegt werden.
Pfade entfernen. Die Verzeichnisstruktur des Archivs wird nicht neu erstellt. Alle Dateien werden im Extraktionsverzeichnis (standardmäßig das aktuelle Verzeichnis) abgelegt.
Dateiattribute setuid/setgid/sticky beibehalten. Ohne diese Kennzeichnung werden diese Attribut-Bits aus Sicherheitsgründen gelöscht.
Alle klein geschriebenen Dateinamen aus einem Betriebssystem oder Dateisystem, in dem nur Großschreibung verwendet wird, umwandeln. Die Option -LL erzwingt die Umwandlung von allen Dateinamen in Kleinschreibung, unabhängig davon, aus welchem Dateisystem sie stammen.
Alle Terminalausgaben über einen internen Pager ähnlich dem Kommando more weiterleiten.
Niemals vorhandene Dateien überschreiben. Wenn eine Datei bereits vorhanden ist, das Extrahieren dieser Datei ohne Rückfrage überspringen.
Vorhandene Dateien ohne Rückfrage überschreiben.
Kennwort zum Entschlüsseln von verschlüsselten Dateien des ZIP-Archivs (falls vorhanden) verwenden.
Vorgänge im stillen Modus durchführen (-qq = noch stiller). Normalerweise gibt unzip die Namen der Dateien, die das Programm extrahiert oder testet, die Extraktionsmethoden, alle Datei- oder ZIP-Archiv-Kommentare, die möglicherweise im Archiv gespeichert sind, und möglicherweise eine Zusammenfassung nach Abschluss jedes Archivs aus. Die Optionen -q[q] unterdrücken die Ausgabe von einigen oder allen Meldungen.
Benutzer- und Gruppeninformationen wiederherstellen (UID/GID). In den meisten Fällen sind hierfür besondere Systemrechte erforderlich.
Ermöglicht das Extrahieren von Archivelementen in Speicherorte außerhalb des aktuellen "Extraktionsstammordners". Aus Sicherheitsgründen entfernt unzip normalerweise übergeordnete Verzeichnispfadkomponenten ("../") von den Namen der extrahierten Datei. Diese Sicherheitsfunktion verhindert, dass unzip versehentlich Dateien in sensible Bereiche außerhalb der Extraktionsordnerstruktur schreibt. Die Option -: ermöglicht es unzip, zu einem weniger restriktiven Verhalten zu wechseln, um ein genaues Extrahieren von Archiven zu ermöglichen, bei denen "../"-Komponenten verwendet wurden, um mehrere Verzeichnisstrukturen auf der Ebene des aktuellen Extraktionsordners zu erstellen. Diese Option ermöglicht es nicht, explizit in das Root-Verzeichnis ("/") zu schreiben. Hierfür muss der Extraktionszielordner auf root festgelegt werden (z. B.
Steuerzeichen in Namen von extrahierten Elementen des ZIP-Archivs zulassen. Ein Dateiname kann einen beliebigen (8-Bit-)Zeichencode mit den beiden Ausnahmen '/' (Verzeichnistrennzeichen) und NUL (0x00) enthalten. Im Allgemeinen erlaubt dies das Einbetten von ASCII-Steuerzeichen in Dateinamen. Standardmäßig wendet unzip einen Filter an, der potenziell gefährliche Steuerzeichen von den extrahierten Dateinamen entfernt. Mit der Option -^ kann dieser Filter außer Kraft gesetzt werden. |
Variable
Die folgenden Umgebungsvariablen werden von unzip wie beschrieben gelesen und verwendet. UNZIP enthält Standardoptionen, die bei der Ausführung von unzip verwendet werden. Der Inhalt dieser Umgebungsvariable wird der Kommandozeile unmittelbar nach dem unzip-Kommando hinzugefügt. UNZIPOPT alternative Standardoptionsvariable (wenn UNZIP leer oder nicht vorhanden ist). |
Beispiel
Alle Elemente des Archivs letters.zip in das aktuelle Verzeichnis und Unterverzeichnisse darunter extrahieren, wobei alle Unterverzeichnisse nach Bedarf erstellt werden:
Alle Elemente von letters.zip in das aktuelle Verzeichnis extrahieren ohne die Verzeichnisstruktur des Archivs wiederherzustellen:
letters.zip testen und nur eine Zusammenfassungsmeldung ausgeben, die angibt, ob das Archiv in Ordnung ist oder nicht:
Alle C-Quelldateien und Makefile unabhängig von Groß- oder Kleinschreibung in das Verzeichnis /tmp extrahieren:
Neuere Versionen der bereits im aktuellen Verzeichnis vorhandenen Dateien extrahieren und noch nicht enthaltene Dateien erstellen:
|
Endestatus
Der Endestatus entspricht annähernd den von PKWARE definierten Return-Codes und kann folgende Werte haben:
|
Einschränkungen
Mehrteilige Archive werden noch nicht unterstützt, außer in Verbindung mit zip. (Alle Teile müssen in der richtigen Reihenfolge miteinander verkettet und dann mit den Optionen -F oder -FF "repariert" werden). Archive, die aus der Standardeingabe gelesen werden, werden noch nicht unterstützt, außer in Verbindung mit funzip (und dann kann nur das erste Elementn des Archivs extrahiert werden). Archive, die mit 8-Bit-Kennwörtern verschlüsselt wurden (z. B. Kennwörter mit europäischen Akzentzeichen), sind möglicherweise nicht über Systeme und/oder andere Archivierungsprogramme hinweg portierbar. Sonderdateien wie FIFO (Named Pipes), Blockgeräte und Zeichengeräte werden nicht wiederhergestellt. Auch dann nicht, wenn sie in irgendeiner Form im ZIP-Archiv dargestellt werden. Die einzigen Dateitypen, die im Wesentlichen von unzip wiederhergestellt werden, sind reguläre Dateien, Verzeichnisse und symbolische Verweise (symbolic links). |
Siehe auch
funzip, zip, zipcloak, zipgrep, zipinfo, zipnote, zipsplit |