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

AufgabeBefehl
Archiv entpackentar -xf archiv.tar.bz2
Mit Statusausgabetar -xvf archiv.tar.bz2
In Verzeichnis entpackentar -xf archiv.tar.bz2 -C /ziel
Einzelne Datei extrahierentar -xf archiv.tar.bz2 datei.txt
Mit Wildcard filterntar -xf archiv.tar.bz2 --wildcards '*.txt'
Inhalt auflistentar -tf archiv.tar.bz2
Aus Pipe entpackencat archiv.tar.bz2 | tar -xj