Der Befehl tar fasst mehrere Dateien und Verzeichnisse in einem einzelnen Archiv zusammen. Er kann Archive erstellen, entpacken, auflisten und erweitern. Der Name steht fuer “Tape ARchive” - urspruenglich wurden damit Daten auf Magnetbaendern gesichert.

Syntax des tar-Befehls

tar [OPERATION] [OPTIONEN] [ARCHIV] [DATEIEN]...
  • OPERATION - Bestimmt, was tar tun soll: Archiv erstellen (-c), entpacken (-x) oder auflisten (-t).
  • OPTIONEN - Zusaetzliche Einstellungen wie Komprimierung (-z, -j) oder ausfuehrliche Ausgabe (-v).
  • ARCHIV - Der Name der Archivdatei, angegeben mit -f.
  • DATEIEN - Die Dateien oder Verzeichnisse, die archiviert oder extrahiert werden sollen.

Tar kennt zwei Schreibweisen fuer Optionen: Die Kurzform mit einem Bindestrich (-cvf) und die Langform mit zwei Bindestrichen (--create --verbose --file). Bei der Kurzform kannst du den Bindestrich auch weglassen (cvf).

Ein Archiv erstellen

Mit der Operation -c (create) erstellst du ein neues Archiv. Die Option -f gibt den Dateinamen an:

tar -cf backup.tar dokument.txt tabelle.csv bild.png

Dieser Befehl packt die drei Dateien in ein Archiv namens backup.tar.

Um ein ganzes Verzeichnis zu archivieren:

tar -cf projekte.tar /home/user/projekte

Verzeichnisse werden standardmaessig rekursiv archiviert - alle Unterverzeichnisse und deren Inhalte werden eingeschlossen.

Mit der Option -v (verbose) zeigt tar die verarbeiteten Dateien an:

tar -cvf backup.tar /home/user/dokumente

Archive mit Komprimierung erstellen

Tar-Archive sind unkomprimiert. Fuer kleinere Dateien kombinierst du tar mit einem Komprimierungsalgorithmus.

Gzip-Komprimierung (.tar.gz)

Die Option -z komprimiert das Archiv mit gzip. Diese Methode bietet eine gute Balance zwischen Geschwindigkeit und Komprimierungsrate:

tar -czf backup.tar.gz /home/user/dokumente

Archive mit gzip-Komprimierung erhalten die Endung .tar.gz oder .tgz.

Bzip2-Komprimierung (.tar.bz2)

Mit -j verwendest du bzip2, das staerker komprimiert, aber laenger dauert:

tar -cjf backup.tar.bz2 /home/user/dokumente

Diese Archive tragen die Endung .tar.bz2 oder .tbz.

XZ-Komprimierung (.tar.xz)

Die Option -J aktiviert xz-Komprimierung, die oft die kleinsten Dateien erzeugt:

tar -cJf backup.tar.xz /home/user/dokumente

Archivinhalt auflisten

Bevor du ein Archiv entpackst, kannst du dessen Inhalt mit -t (list) anzeigen:

tar -tf backup.tar.gz

Die Ausgabe zeigt alle enthaltenen Dateien und Verzeichnisse:

home/user/dokumente/
home/user/dokumente/bericht.pdf
home/user/dokumente/notizen.txt
home/user/dokumente/bilder/
home/user/dokumente/bilder/foto.jpg

Fuer detaillierte Informationen wie Dateiberechtigungen, Eigentuemer und Groesse fuegst du -v hinzu:

tar -tvf backup.tar.gz

Ein Archiv entpacken

Die Operation -x (extract) entpackt ein Archiv:

tar -xf backup.tar.gz

Tar erkennt das Komprimierungsformat automatisch - du musst beim Entpacken keine Komprimierungsoption angeben.

Mit -v siehst du, welche Dateien entpackt werden:

tar -xvf backup.tar.gz

In ein bestimmtes Verzeichnis entpacken

Standardmaessig entpackt tar ins aktuelle Verzeichnis. Mit -C gibst du ein anderes Zielverzeichnis an:

tar -xf backup.tar.gz -C /tmp/restore

Das Zielverzeichnis muss bereits existieren.

Einzelne Dateien entpacken

Du kannst auch nur bestimmte Dateien aus einem Archiv holen. Gib dazu die gewuenschten Pfade an, wie sie mit -t angezeigt werden:

tar -xf backup.tar.gz home/user/dokumente/bericht.pdf

Mehrere Dateien trennst du mit Leerzeichen:

tar -xf backup.tar.gz home/user/dokumente/bericht.pdf home/user/dokumente/notizen.txt

Dateien mit Muster entpacken

Mit --wildcards extrahierst du Dateien anhand eines Musters:

tar -xf backup.tar.gz --wildcards '*.pdf'

Das Muster muss in Anfuehrungszeichen stehen, damit die Shell es nicht interpretiert.

Dateien zu einem Archiv hinzufuegen

Die Operation -r (append) fuegt Dateien zu einem bestehenden Archiv hinzu:

tar -rvf backup.tar neue-datei.txt

Hinweis: Das Hinzufuegen funktioniert nur bei unkomprimierten tar-Archiven. Bei komprimierten Archiven musst du das Archiv entpacken, die Dateien hinzufuegen und neu komprimieren.

Dateien aus einem Archiv entfernen

Mit --delete entfernst du Dateien aus einem unkomprimierten Archiv:

tar --delete -f backup.tar alte-datei.txt

Auch diese Operation ist auf unkomprimierte Archive beschraenkt.

Haeufige Optionskombinationen

Diese Kombinationen wirst du am haeufigsten verwenden:

BefehlBeschreibung
tar -cvf archiv.tar verzeichnis/Archiv erstellen mit Ausgabe
tar -czf archiv.tar.gz verzeichnis/Gzip-komprimiertes Archiv erstellen
tar -cjf archiv.tar.bz2 verzeichnis/Bzip2-komprimiertes Archiv erstellen
tar -tvf archiv.tar.gzArchivinhalt detailliert auflisten
tar -xf archiv.tar.gzArchiv entpacken
tar -xf archiv.tar.gz -C /ziel/In bestimmtes Verzeichnis entpacken

Zusammenfassung

Der Befehl tar erstellt und verwaltet Archive auf der Kommandozeile. Mit -c erstellst du ein Archiv, mit -x entpackst du es und mit -t listest du den Inhalt auf. Fuer Komprimierung stehen -z (gzip), -j (bzip2) und -J (xz) zur Verfuegung. Beim Entpacken erkennt tar das Format automatisch.

Verwandte Artikel