Linux / Befehl zip: ZIP-Archive erstellen

zip bündelt und komprimiert Dateien und Verzeichnisse in ein einzelnes ZIP-Archiv. Es ist ein Format, das häufig beim Austausch von Dateien mit anderen Betriebssystemen verwendet wird.

Das erste Argument ist die zu erstellende oder zu aktualisierende ZIP-Datei, und die folgenden Argumente sind die einzuschließenden Dateien. Um Dateien innerhalb von Verzeichnissen einzubeziehen, geben Sie -r an. Beim Arbeiten mit einer bestehenden ZIP-Datei wird nicht unbedingt ein neues Archiv von Grund auf erstellt, sondern vorhandene Einträge können aktualisiert oder hinzugefügt werden. Bestätigen Sie daher zuerst die beabsichtigte Aktion.

Grundlegende Syntax

zip [options] archive.zip file or directory...

Installierte Implementierungen und Optionen können je nach Distribution variieren. Überprüfen Sie die Beschreibung Ihres aktuellen Systems mit man zip.

Beispiele

Zwei Dateien bündeln

Wählen Sie einen neuen ZIP-Namen, der noch nicht existiert.

zip documents.zip report.txt notes.txt

Komprimieren eines gesamten Verzeichnisses

Unterverzeichnisse und Dateien mit -r einbeziehen.

zip -r project.zip project/

Überprüfen des erstellten Archivs

Nach der Kompression die Dateiliste mit unzip -l überprüfen.

unzip -l project.zip

Überprüfen, was in einer ZIP-Datei ist

zip kann mehrere Dateien in ein einziges ZIP-Archiv legen. -q führt das Hinzufügen still durch, und die Auflistung erfolgt mit einem separaten Befehl.

printf 'hello\n' > note.txt
zip -q bundle.zip note.txt
unzip -Z -1 bundle.zip

Beispielausgabe:

note.txt

Nur weil ein Name in der Liste erscheint, bedeutet das nicht, dass die Integrität des Archivs überprüft wurde. Sie können die Struktur mit unzip -t bundle.zip prüfen. Die Standardverschlüsselung eines passwortgeschützten ZIP-Archivs reicht möglicherweise nicht aus, um sensible Informationen zu schützen. Wenn Sicherheit das Ziel ist, wählen Sie daher eine geeignete Verschlüsselungsmethode separat.

Hauptoptionen und Format

Optionen/Format Beschreibung
-r Unterelemente von Verzeichnissen rekursiv einbeziehen.
-0 Dateien ohne Komprimierung speichern.
-1 ... -9 Den Komprimierungsgrad auswählen.
-u Geänderte Dateien in einem bestehenden Archiv aktualisieren.
-x pattern Übereinstimmende Pfade ausschließen.

Vorsichtsmaßnahmen bei der Verwendung

Beim Wiederverwenden einer vorhandenen ZIP-Datei kann der Inhalt der Konfiguration anders aktualisiert werden als erwartet. Erstellen Sie sie daher entweder unter einem neuen Namen oder machen Sie zuerst eine Sicherungskopie. Gehen Sie nicht davon aus, dass gängige ZIP-Passwortoptionen starke Sicherheit bieten; wählen Sie für sensible Daten geeignete Verschlüsselungstools. Das ZIP-Format kann Metadaten wie Berechtigungen und Eigentum nicht konsistent plattformübergreifend speichern.

Häufig gestellte Fragen

Beinhaltet die Verwendung von zip project.zip project/ alle Dateien im Ordner?

Nein. Um den Inhalt des Verzeichnisses rekursiv einzuschließen, verwendet man normalerweise `zip -r project.zip project/`.

Offizielle Dokumentation

Sie können das genaue Verhalten der Optionen und implementierungsspezifische Unterschiede in der offiziellen Dokumentation für zip nachprüfen.