Der tar-Befehl entpackt tar.bz2-Archive mit einem einzigen Aufruf. Die Dateierweiterungen .tar.bz2 und .tbz2 kennzeichnen Tar-Archive, die mit dem bzip2-Algorithmus komprimiert wurden.
Grundlegende Syntax
tar -xf archiv.tar.bz2
Die Option -x steht für extract (entpacken), -f gibt die Archivdatei an. Der tar-Befehl erkennt den Kompressionstyp automatisch anhand der Dateiendung. Derselbe Befehl funktioniert daher auch mit .tar.gz oder .tar.xz.
Entpacken mit Statusausgabe
Mit der Option -v (verbose) zeigt tar alle extrahierten Dateien an:
tar -xvf archiv.tar.bz2
dokument.txt
bilder/
bilder/foto1.jpg
bilder/foto2.jpg
Das hilft dir, den Fortschritt bei großen Archiven zu verfolgen.
In ein bestimmtes Verzeichnis entpacken
Standardmäßig entpackt tar ins aktuelle Arbeitsverzeichnis. Mit -C gibst du ein Zielverzeichnis an:
tar -xf archiv.tar.bz2 -C /home/benutzer/dokumente
Das Zielverzeichnis muss bereits existieren.
Einzelne Dateien oder Verzeichnisse extrahieren
Du kannst gezielt bestimmte Dateien aus dem Archiv holen. Gib die gewünschten Pfade nach dem Archivnamen an:
tar -xf archiv.tar.bz2 readme.txt config/settings.conf
Bei Verzeichnissen werden alle enthaltenen Dateien mit extrahiert:
tar -xf archiv.tar.bz2 src/
Existiert eine angegebene Datei nicht im Archiv, meldet tar einen Fehler:
tar: readme.txt: Nicht im Archiv gefunden
tar: Beendet mit Fehlerstatus aufgrund vorheriger Fehler
Dateien mit Wildcards extrahieren
Mit --wildcards filterst du Dateien anhand von Mustern. Setze das Muster in Anführungszeichen:
tar -xf archiv.tar.bz2 --wildcards '*.txt'
Das extrahiert alle Textdateien aus dem Archiv. Weitere Beispiele:
tar -xf archiv.tar.bz2 --wildcards 'src/*.c' # Nur C-Dateien im src-Verzeichnis
tar -xf archiv.tar.bz2 --wildcards '*/config.*' # Alle config-Dateien in Unterverzeichnissen
Archivinhalt auflisten ohne zu entpacken
Die Option -t listet den Inhalt eines Archivs auf:
tar -tf archiv.tar.bz2
readme.txt
src/
src/main.c
src/utils.c
Kombiniert mit -v zeigt tar zusätzlich Berechtigungen, Besitzer, Größe und Zeitstempel:
tar -tvf archiv.tar.bz2
-rw-r--r-- benutzer/users 1024 2025-01-10 14:30 readme.txt
drwxr-xr-x benutzer/users 0 2025-01-10 14:30 src/
-rw-r--r-- benutzer/users 4096 2025-01-10 14:30 src/main.c
Entpacken aus einer Pipe
Beim Entpacken aus einer Pipe (z.B. nach einem Download) erkennt tar den Kompressionstyp nicht automatisch. Gib ihn mit -j für bzip2 explizit an:
wget -qO- https://example.com/paket.tar.bz2 | tar -xj
Ohne -j meldet tar:
tar: Das Archiv ist komprimiert. Verwende die Option -j
Ein praktisches Beispiel mit curl:
curl -sL https://example.com/software.tar.bz2 | tar -xjC /opt/software
Das lädt das Archiv herunter und entpackt es direkt nach /opt/software.
Zusammenfassung
| Aufgabe | Befehl |
|---|---|
| Archiv entpacken | tar -xf archiv.tar.bz2 |
| Mit Statusausgabe | tar -xvf archiv.tar.bz2 |
| In Verzeichnis entpacken | tar -xf archiv.tar.bz2 -C /ziel |
| Einzelne Datei extrahieren | tar -xf archiv.tar.bz2 datei.txt |
| Mit Wildcard filtern | tar -xf archiv.tar.bz2 --wildcards '*.txt' |
| Inhalt auflisten | tar -tf archiv.tar.bz2 |
| Aus Pipe entpacken | cat archiv.tar.bz2 | tar -xj |