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
| Aufgabe | Befehl |
|---|---|
| Entpacken | tar -xf archiv.tar.xz |
| Mit Ausgabe | tar -xvf archiv.tar.xz |
| In Verzeichnis | tar -xf archiv.tar.xz -C /pfad/ |
| Einzelne Dateien | tar -xf archiv.tar.xz datei1 datei2 |
| Inhalt anzeigen | tar -tf archiv.tar.xz |
| Aus Pipe | wget URL -O - | tar -xJ |