Der Befehl tar entpackt tar.xz-Archive mit einem einzigen Aufruf. Das xz-Format nutzt den LZMA-Algorithmus und erreicht damit bessere Kompressionsraten als gzip – deshalb findest du es häufig bei Quellcode-Archiven wie dem Kernel.

tar.xz-Datei entpacken

Der einfachste Weg:

tar -xf archiv.tar.xz

tar erkennt das Kompressionsformat automatisch. Die Optionen bedeuten:

  • -x – Extrahieren (extract)
  • -f – Dateiname folgt

Das funktioniert genauso für .tar.gz und .tar.bz2 – du musst dir den Kompressionstyp nicht merken.

Für eine ausführliche Ausgabe, die jeden extrahierten Dateinamen anzeigt, füge -v hinzu:

tar -xvf archiv.tar.xz

In ein bestimmtes Verzeichnis entpacken

Standardmäßig landen die Dateien im aktuellen Arbeitsverzeichnis. Mit der Option -C gibst du einen anderen Zielpfad an:

tar -xf archiv.tar.xz -C /home/nutzer/dateien

Das Zielverzeichnis muss bereits existieren – tar erstellt es nicht automatisch.

Einzelne Dateien oder Verzeichnisse entpacken

Du kannst gezielt bestimmte Dateien aus dem Archiv holen:

tar -xf archiv.tar.xz datei1.txt datei2.txt

Das funktioniert genauso mit Verzeichnissen:

tar -xf archiv.tar.xz config/ src/

Falls eine angegebene Datei nicht existiert, meldet tar einen Fehler:

tar: README: Nicht im Archiv gefunden
tar: Beendet mit Fehlerstatus aufgrund vorheriger Fehler

Mit --wildcards extrahierst du Dateien anhand eines Musters. Setze das Muster in Anführungszeichen, damit die Shell es nicht interpretiert:

tar -xf archiv.tar.xz --wildcards '*.png'

Archiv-Inhalt auflisten ohne zu entpacken

Mit -t listest du den Inhalt auf, ohne etwas zu extrahieren:

tar -tf archiv.tar.xz

Für detaillierte Informationen wie Berechtigungen, Besitzer und Dateigröße:

tar -tvf archiv.tar.xz

Die Ausgabe sieht dann so aus:

-rw-r--r-- nutzer/users  4096 2024-05-15 14:30 config.txt
-rw-r--r-- nutzer/users 12288 2024-05-15 14:30 daten.csv
drwxr-xr-x nutzer/users     0 2024-05-15 14:30 src/

tar.xz aus einer Pipe entpacken

Wenn du ein Archiv direkt aus dem Netzwerk entpacken willst, ohne es vorher zu speichern, brauchst du die Option -J. Diese teilt tar explizit mit, dass es sich um xz-komprimierte Daten handelt:

wget -c https://example.com/archiv.tar.xz -O - | tar -xJ

Bei einer regulären Datei erkennt tar das Format automatisch. Bei Daten aus einer Pipe fehlt diese Information – daher ist -J hier erforderlich.

Zusammenfassung

AufgabeBefehl
Entpackentar -xf archiv.tar.xz
Mit Ausgabetar -xvf archiv.tar.xz
In Verzeichnistar -xf archiv.tar.xz -C /pfad/
Einzelne Dateientar -xf archiv.tar.xz datei1 datei2
Inhalt anzeigentar -tf archiv.tar.xz
Aus Pipewget URL -O - | tar -xJ