# 7-Zip — Hochkomprimierte Archive mit 7z

> Praxis-Guide zu 7-Zip: Archive in 7z, ZIP, TAR und mehr packen, mit LZMA2 maximal komprimieren und mit AES-256 verschlüsseln.

Source: https://www.jpkc.com/db/cheatsheets/archives/7z/

<!-- PROSE:intro -->
7-Zip ist ein quelloffener Archivierer, der mit dem LZMA/LZMA2-Algorithmus oft deutlich höhere Kompressionsraten erreicht als klassische ZIP- oder gzip-Werkzeuge. Auf der Kommandozeile packst und entpackst du damit nicht nur das eigene `.7z`-Format, sondern auch ZIP, TAR, GZIP, BZIP2 und XZ. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag – vom einfachen Archiv über AES-256-Verschlüsselung bis hin zu Mehrteil-Archiven und Ausschluss-Mustern.
<!-- PROSE:intro:end -->

## Archive erstellen

`7z a <archive> <files>` — Erstellt ein Archiv (Format wird an der Dateiendung erkannt).

```bash
7z a backup.7z documents/
```

`7z a <archive>.zip <files>` — Erstellt ein ZIP-Archiv.

```bash
7z a project.zip src/
```

`7z a -mx=<level> <archive> <files>` — Legt die Kompressionsstufe fest (0=ohne, 1=schnellste, 5=normal, 9=ultra).

```bash
7z a -mx=9 best.7z largefile.dat
```

`7z a -t<type> <archive> <files>` — Gibt den Archivtyp an (7z, zip, tar, gzip, bzip2, xz).

```bash
7z a -ttar archive.tar directory/
```

`7z a -r <archive> '<pattern>'` — Fügt Dateien rekursiv passend zu einem Muster hinzu.

```bash
7z a code.7z -r '*.py'
```

## Entpacken

`7z x <archive>` — Entpackt mit vollständigen Pfaden (erhält die Verzeichnisstruktur).

```bash
7z x backup.7z
```

`7z x <archive> -o<dir>` — Entpackt in ein bestimmtes Verzeichnis.

```bash
7z x backup.7z -o/tmp/restore
```

`7z e <archive>` — Entpackt ohne Pfade (alle Dateien in ein Verzeichnis, kann Gleichnamiges überschreiben).

```bash
7z e backup.7z
```

`7z x <archive> '<file>'` — Entpackt nur bestimmte Dateien.

```bash
7z x backup.7z 'config.yaml' 'README.md'
```

`7z x -y <archive>` — Entpackt und überschreibt ohne Rückfrage.

```bash
7z x -y update.7z -o/var/www/
```

## Auflisten & Testen

`7z l <archive>` — Listet den Inhalt eines Archivs auf.

```bash
7z l backup.7z
```

`7z l -slt <archive>` — Listet mit technischen Details auf (Größe, Datum, Attribute).

```bash
7z l -slt backup.7z
```

`7z t <archive>` — Prüft die Integrität eines Archivs.

```bash
7z t backup.7z
```

## Verschlüsselung

`7z a -p <archive> <files>` — Erstellt ein verschlüsseltes Archiv (fragt das Passwort interaktiv ab).

```bash
7z a -p secret.7z confidential/
```

`7z a -p'<password>' <archive> <files>` — Erstellt ein verschlüsseltes Archiv mit Passwort direkt im Befehl (landet in der History).

```bash
7z a -p'MySecret123' secret.7z data/
```

`7z a -p -mhe=on <archive> <files>` — Verschlüsselt auch die Dateinamen (nicht nur den Inhalt).

```bash
7z a -p -mhe=on secret.7z confidential/
```

## Aufteilen & Aktualisieren

`7z a -v<size> <archive> <files>` — Erstellt ein geteiltes Archiv (mehrere Teildateien).

```bash
7z a -v100m backup.7z large-directory/
```

`7z u <archive> <files>` — Aktualisiert Dateien in einem bestehenden Archiv.

```bash
7z u backup.7z updated-file.txt
```

`7z d <archive> '<file>'` — Löscht Dateien aus einem Archiv.

```bash
7z d backup.7z 'temp.log'
```

`7z rn <archive> '<old>' '<new>'` — Benennt eine Datei innerhalb eines Archivs um.

```bash
7z rn backup.7z 'old-name.txt' 'new-name.txt'
```

## Ausschließen & häufige Muster

`7z a <archive> <dir> -x!'<pattern>'` — Schließt Dateien aus, die zu einem Muster passen.

```bash
7z a project.7z src/ -x!'*.log' -x!'node_modules'
```

`7z a <archive> <dir> -xr!'<pattern>'` — Schließt ein Muster rekursiv aus.

```bash
7z a project.7z ./ -xr!'*.git' -xr!'node_modules'
```

`7z a -ttar -so . | 7z a -si backup.tar.7z` — Erzeugt ein .tar.7z-Archiv (tar + 7z-Kompression).

```bash
7z a -ttar -so directory/ | 7z a -si backup.tar.7z
```

<!-- PROSE:outro -->
## Fazit

Auf der Kommandozeile ist 7-Zip ein Schweizer Taschenmesser für Archive – beachte aber den entscheidenden Unterschied zwischen `7z x` (stellt die volle Verzeichnisstruktur wieder her) und `7z e` (entpackt alle Dateien flach in ein Verzeichnis und kann dabei gleichnamige Dateien überschreiben). AES-256-Verschlüsselung gibt es nur bei `.7z`- und `.zip`-Archiven mit Passwort; ergänze `-mhe=on`, damit auch die Dateinamen verschlüsselt werden. Gib das Passwort möglichst nicht inline per `-p'…'` an, da es sonst in der Shell-History und der Prozessliste landet – die interaktive Abfrage mit `-p` ist sicherer.

## Weiterführende Links

- [7-zip.org – offizielle Projektseite](https://www.7-zip.org/) – Downloads, Versionshinweise und FAQ (englisch)
- [7-Zip – Kommandozeilen-Dokumentation](https://documentation.help/7-Zip/) – Referenz aller Schalter und Kommandos (englisch)
<!-- PROSE:outro:end -->

## Verwandte Kommandos

- [gzip](https://www.jpkc.com/db/cheatsheets/archives/gzip/) – komprimiert einzelne Dateien mit DEFLATE
- [tar](https://www.jpkc.com/db/cheatsheets/archives/tar/) – bündelt Dateien zu einem Archiv, oft mit Kompression kombiniert
- [zip](https://www.jpkc.com/db/cheatsheets/archives/zip/) – erstellt und entpackt klassische ZIP-Archive

