zstd — Schnelle Kompression mit Zstandard

Praxis-Guide zu zstd (Zstandard) — schnelle Kompression mit hervorragendem Verhältnis von Tempo und Größe, Multi-Threading und tar-Integration.

zstd (Zstandard) ist ein modernes Kompressionswerkzeug von Meta, das ein bemerkenswertes Gleichgewicht aus Geschwindigkeit und Kompressionsrate trifft – bei Standardstufe 3 packt es nahezu in Echtzeit, auf höheren Stufen erreicht es Raten auf xz-Niveau. Dazu kommen Multi-Threading, eine nahtlose tar-Integration und Wörterbuch-Kompression für viele kleine Dateien. Dieser Guide zeigt dir die wichtigsten Befehle für den Alltag – vom schnellen Komprimieren bis zum gestreamten Datenbank-Backup.

Komprimieren

zstd <file> — Komprimiert eine Datei (erzeugt file.zst, behält das Original).

zstd data.log

zstd -<level> <file> — Komprimiert mit einer bestimmten Stufe (1=schnellste, 19=beste, Standard 3).

zstd -19 data.log

zstd --ultra -<level> <file> — Nutzt die Ultra-Stufen (20–22, sehr langsam, aber am kleinsten).

zstd --ultra -22 data.log

zstd -o <output> <file> — Komprimiert in einen bestimmten Ausgabe-Dateinamen.

zstd -o backup.zst data.log

zstd --rm <file> — Komprimiert und löscht anschließend das Original.

zstd --rm data.log

zstd -T<n> <file> — Multi-Threaded-Kompression (0=Kerne automatisch erkennen).

zstd -T0 -19 largefile.dat

Dekomprimieren

zstd -d <file>.zst — Dekomprimiert eine Datei.

zstd -d data.log.zst

unzstd <file>.zst — Dekomprimiert (Alias für zstd -d).

unzstd data.log.zst

zstd -d -o <output> <file>.zst — Dekomprimiert in einen bestimmten Dateinamen.

zstd -d -o restored.log data.log.zst

zstdcat <file>.zst — Dekomprimiert nach stdout (wie zcat bei gzip).

zstdcat data.log.zst | grep 'error'

zstd -d --rm <file>.zst — Dekomprimiert und löscht anschließend die komprimierte Datei.

zstd -d --rm data.log.zst

Piping & Streaming

<command> | zstd > <output>.zst — Komprimiert per Pipe übergebene Daten.

mysqldump mydb | zstd > backup.sql.zst

zstd -d < <input>.zst | <command> — Dekomprimiert und leitet an einen Befehl weiter.

zstd -d < backup.sql.zst | mysql mydb

tar cf - <dir> | zstd > <archive>.tar.zst — Erzeugt ein tar.zst-Archiv (tar + zstd).

tar cf - project/ | zstd -T0 > project.tar.zst

zstd -d < <archive>.tar.zst | tar xf - — Entpackt ein tar.zst-Archiv.

zstd -d < project.tar.zst | tar xf -

tar --zstd -cf <archive>.tar.zst <dir> — Erzeugt tar.zst über die eingebaute zstd-Unterstützung von tar (GNU tar).

tar --zstd -cf project.tar.zst project/

tar --zstd -xf <archive>.tar.zst — Entpackt tar.zst über die eingebaute Unterstützung von tar.

tar --zstd -xf project.tar.zst

Mehrere Dateien

zstd <file1> <file2> <file3> — Komprimiert mehrere Dateien einzeln.

zstd *.log

zstd -d *.zst — Dekomprimiert mehrere Dateien.

zstd -d *.zst

zstd -r <dir> — Komprimiert rekursiv alle Dateien in einem Verzeichnis.

zstd -r /var/log/old/

Info & Test

zstd -l <file>.zst — Zeigt Kompressions-Infos (Rate, Größen).

zstd -l data.log.zst

zstd -t <file>.zst — Prüft die Integrität einer komprimierten Datei.

zstd -t backup.sql.zst

zstd -b <file> — Benchmarkt die Kompressions-/Dekompressionsgeschwindigkeit.

zstd -b data.log

zstd -b -e<level> <file> — Benchmarkt über mehrere Kompressionsstufen hinweg.

zstd -b1 -e19 data.log

zstd -V — Zeigt die zstd-Version an.

zstd -V

Fazit

zstd ist heute die naheliegende Wahl, wenn du Geschwindigkeit und Kompressionsrate zugleich willst: Die Standardstufe 3 ist blitzschnell, mit -T0 skaliert es über alle Kerne, und tar --zstd macht das Archivieren bequem. Zwei Dinge solltest du im Blick behalten: --rm löscht das Original unwiderruflich – verwende es nur, wenn die komprimierte Datei sicher angekommen ist. Und die Ultra-Stufen --ultra -20 bis -22 brauchen nicht nur beim Packen, sondern auch beim Entpacken deutlich mehr Arbeitsspeicher – auf knapp bemessenen Zielsystemen also mit Bedacht einsetzen.

Verwandte Kommandos

  • 7z – Hochkomprimierendes Archivformat mit starker LZMA-Kompression
  • gzip – klassischer, weit verbreiteter Kompressor (DEFLATE)
  • tar – bündelt Dateien zu einem Archiv, oft mit zstd kombiniert