Der Befehl tar entpackt tar.gz-Archive mit einer einzigen Zeile. Diese Kombination aus Tar-Archiv und Gzip-Komprimierung ist das Standardformat für Software-Pakete und Quellcode auf der Kommandozeile.

Syntax

tar -xf ARCHIV.tar.gz [OPTIONEN] [DATEIEN]

Die wichtigsten Optionen:

OptionBedeutung
-xExtrahieren (entpacken)
-fArchivdatei angeben
-vDateinamen während des Entpackens anzeigen
-CZielverzeichnis angeben
-tInhalt auflisten statt entpacken
-zGzip-Komprimierung explizit angeben

tar.gz-Datei entpacken

Der einfachste Fall: Entpacke ein Archiv ins aktuelle Verzeichnis.

tar -xf archiv.tar.gz

Der tar-Befehl erkennt die Gzip-Komprimierung automatisch. Du brauchst keine zusätzliche Option anzugeben.

Mit der Option -v siehst du, welche Dateien entpackt werden:

tar -xvf archiv.tar.gz

In ein bestimmtes Verzeichnis entpacken

Standardmäßig landet der Inhalt im aktuellen Arbeitsverzeichnis. Mit -C gibst du ein anderes Zielverzeichnis an:

tar -xf archiv.tar.gz -C /home/benutzer/projekte

Das Verzeichnis muss bereits existieren.

Nur bestimmte Dateien extrahieren

Du kannst einzelne Dateien oder Verzeichnisse aus dem Archiv holen, ohne alles zu entpacken:

tar -xf archiv.tar.gz config.txt src/main.js

Gib die Dateinamen exakt so an, wie sie im Archiv gespeichert sind. Den korrekten Pfad findest du mit der Option -t (siehe unten).

Dateien mit Wildcards extrahieren

Mit --wildcards filterst du Dateien nach Muster:

tar -xf archiv.tar.gz --wildcards '*.conf'

Dieser Befehl extrahiert alle Dateien, die auf .conf enden. Die Anführungszeichen verhindern, dass die Shell das Muster interpretiert.

Archivinhalt auflisten

Bevor du entpackst, kannst du prüfen, was im Archiv steckt:

tar -tf archiv.tar.gz

Die Ausgabe zeigt alle enthaltenen Dateien und Verzeichnisse:

projekt/
projekt/README.md
projekt/src/
projekt/src/main.c

Für detaillierte Informationen wie Dateigröße, Berechtigungen und Zeitstempel füge -v hinzu:

tar -tvf archiv.tar.gz

Entpacken aus einer Pipe

Wenn du ein Archiv direkt aus einer Pipe liest, etwa beim Download mit wget oder curl, musst du die Option -z explizit angeben:

wget -qO- https://example.com/paket.tar.gz | tar -xz

Ohne -z erkennt tar den Komprimierungstyp nicht automatisch, weil er die Dateiendung nicht sehen kann.

Zusammenfassung

AufgabeBefehl
Archiv entpackentar -xf archiv.tar.gz
Mit Fortschrittsanzeigetar -xvf archiv.tar.gz
In Verzeichnis entpackentar -xf archiv.tar.gz -C /pfad/zum/ziel
Nur bestimmte Dateientar -xf archiv.tar.gz datei1 datei2
Inhalt auflistentar -tf archiv.tar.gz
Aus Pipe entpackencurl -s URL | tar -xz

Verwandte Artikel