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:
| Option | Bedeutung |
|---|---|
-x | Extrahieren (entpacken) |
-f | Archivdatei angeben |
-v | Dateinamen während des Entpackens anzeigen |
-C | Zielverzeichnis angeben |
-t | Inhalt auflisten statt entpacken |
-z | Gzip-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
| Aufgabe | Befehl |
|---|---|
| Archiv entpacken | tar -xf archiv.tar.gz |
| Mit Fortschrittsanzeige | tar -xvf archiv.tar.gz |
| In Verzeichnis entpacken | tar -xf archiv.tar.gz -C /pfad/zum/ziel |
| Nur bestimmte Dateien | tar -xf archiv.tar.gz datei1 datei2 |
| Inhalt auflisten | tar -tf archiv.tar.gz |
| Aus Pipe entpacken | curl -s URL | tar -xz |