zip — ZIP-Archive erstellen und entpacken

Praxis-Guide zu zip und unzip: ZIP-Archive erstellen, entpacken, komprimieren und filtern – das universellste Archivformat über alle Betriebssysteme.

zip und unzip sind die Klassiker für das ZIP-Format – das einzige Archivformat, das du praktisch überall öffnen kannst, von Windows über macOS bis Linux. Mit zip packst und komprimierst du Dateien in einem Schritt, mit unzip holst du sie wieder heraus. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag: rekursives Packen, Komprimierungsstufen, Ausschluss-Muster, Verschlüsselung und das gezielte Entpacken einzelner Dateien.

Archive erstellen

zip <archive>.zip <files> — Erstellt ein ZIP-Archiv aus einzelnen Dateien.

zip backup.zip file1.txt file2.txt

zip -r <archive>.zip <dir> — Erstellt ein ZIP-Archiv aus einem Verzeichnis (rekursiv).

zip -r project.zip project/

zip -j <archive>.zip <files> — Erstellt ein Archiv ohne Verzeichnispfade (Pfade verwerfen).

zip -j flat.zip path/to/file1.txt path/to/file2.txt

zip -<level> <archive>.zip <files> — Legt die Komprimierungsstufe fest (0=speichern, 1=schnellste, 9=beste).

zip -9 best.zip largefile.dat

zip -0 <archive>.zip <files> — Speichert Dateien ohne Komprimierung (schneller bei bereits komprimierten Daten).

zip -0 images.zip *.jpg

Hinzufügen, Aktualisieren & Löschen

zip -u <archive>.zip <files> — Aktualisieren: fügt neue oder geänderte Dateien zu einem bestehenden Archiv hinzu.

zip -u backup.zip newfile.txt

zip -d <archive>.zip <files> — Löscht Dateien aus einem bestehenden Archiv.

zip -d backup.zip oldfile.txt

zip -g <archive>.zip <files> — Anhängen (grow): hängt Dateien an ein bestehendes Archiv an.

zip -g backup.zip extra.txt

Ausschließen & Filtern

zip -r <archive>.zip <dir> -x '<pattern>' — Erstellt ein Archiv und schließt Dateien aus, die auf ein Muster passen.

zip -r project.zip project/ -x '*.git*' '*node_modules*'

zip -r <archive>.zip <dir> -x '*.log' '*.tmp' — Schließt mehrere Dateimuster aus.

zip -r deploy.zip src/ -x '*.log' '*.tmp' '*.test.js'

zip -r <archive>.zip <dir> -i '*.php' '*.html' — Nimmt nur Dateien auf, die auf die Muster passen.

zip -r code.zip project/ -i '*.php' '*.html' '*.css'

Verschlüsselung & Aufteilen

zip -e <archive>.zip <files> — Erstellt ein passwortgeschütztes ZIP-Archiv (fragt das Passwort interaktiv ab).

zip -e -r secret.zip confidential/

zip -P '<password>' <archive>.zip <files> — Erstellt ein verschlüsseltes Archiv mit Passwort direkt auf der Kommandozeile (landet unsicher in der Shell-History).

zip -P 'mypass' secret.zip file.txt

zip -s <size> -r <archive>.zip <dir> — Erstellt ein aufgeteiltes Archiv (mehrteilig).

zip -s 100m -r large.zip bigfolder/

unzip — Entpacken

unzip <archive>.zip — Entpackt alle Dateien aus einem ZIP-Archiv.

unzip backup.zip

unzip <archive>.zip -d <dir> — Entpackt in ein bestimmtes Verzeichnis.

unzip backup.zip -d /tmp/restore/

unzip <archive>.zip '<file>' — Entpackt nur bestimmte Dateien.

unzip backup.zip 'config.yaml'

unzip -o <archive>.zip — Überschreibt vorhandene Dateien ohne Nachfrage.

unzip -o update.zip -d /var/www/

unzip -n <archive>.zip — Überschreibt vorhandene Dateien niemals.

unzip -n backup.zip

unzip -l <archive>.zip — Listet den Inhalt eines ZIP-Archivs auf, ohne zu entpacken.

unzip -l backup.zip

unzip -t <archive>.zip — Prüft die Integrität des Archivs, ohne zu entpacken.

unzip -t backup.zip

unzip -p <archive>.zip '<file>' — Entpackt eine Datei nach stdout (an einen anderen Befehl weiterleiten).

unzip -p backup.zip config.json | jq .

Fazit

Das ZIP-Format glänzt vor allem durch seine Allgegenwart: Wer ein Archiv plattformübergreifend weitergeben will, liegt mit zip fast nie falsch. Verlass dich aber nicht auf die eingebaute Verschlüsselung – das klassische ZipCrypto-Verfahren (zip -e, zip -P) gilt als schwach und leicht zu brechen, und -P schreibt dein Passwort obendrein in die Shell-History. Für echte Vertraulichkeit greifst du besser zu AES-fähigen Werkzeugen wie 7-Zip oder zu age bzw. GPG.

Verwandte Kommandos

  • 7z – Hochkompressions-Archivierer mit starker AES-256-Verschlüsselung
  • gzip – schnelle Stream-Komprimierung für einzelne Dateien
  • tar – bündelt Verzeichnisbäume zu einem Archiv (oft mit gzip kombiniert)