tar-Befehl unter Linux

Archivierung und Kompression

Der tar-Befehl ist ein mächtiges Werkzeug, das in Linux- und Unix-Systemen zur Archivierung und Komprimierung von Dateien verwendet wird. Dieser Artikel zeigt ihn dir mit vielen Beispielen.

Bedeutung

Ursprünglich wurde tar für das Erstellen von Backups auf Magnetbändern entwickelt. Davon leitet sich auch der Name ab: tar steht für tape archive. So ein Archiv ist eine sequentielle Aneinanderreihung von Dateien.

Die so erzeugten Archive werden auch als Tarball bezeichnet. Damit ist ein mit tar erstelltes Archiv gemeint, das zusätzlich mit gzip komprimiert wurde und dessen Name (oft) auf .tar.gz oder .tgz endet.

Allgemeine Syntax

In generischer Form sieht der Tar-Befehl folgendermassen aus:

1
tar -Optionen <Name des Archivs> [zu archivierende Dateien oder Ordner]

Einfach Verwendung

So kannst du zum Beispiel einen Ordner in ein Tar-Archiv verwandeln:

1
tar -cvzf mein_archiv.tar.gz ornder/

Umgekehrt lässt sich mit diesem Befehl das Archiv wieder entpacken:

1
tar -xvzf mein_archiv.tar.gz

Sehen wir uns jetzt die Details genauer an.

Wichtige Optionen für tar

Dafür betrachten wir zunächst einige wichtigste Optionen:

Option Bedeutung
-c ein Archiv erstellen (create)
-x ein Archiv entpacken (extract)
-v detaillierte Information zum Vorgang ausgeben
-f Name vom Archiv angeben
-z verwendet gzip für die Kompression
-j verwendet bzip2 für die Kompression
-J verwendet xz für die Kompression
-C wechselt zum ent-/packen in einen anderen Ordner
-t Inhalte eines Archivs anzeigen

Das ist keine abschliessende Liste. Alle möglichen Werte findest du in der Man-Page.

Praktische Beispiele

Aber wie kannst du das nun praktisch einsetzen? Sehen wir uns dafür jetzt Beispiele an.

Archiv erstellen

Um ein Archiv zu erstellen, das die Dateien und Verzeichnisse im aktuellen Ordner enthält, verwendest du die Option -c:

1
tar -cvf archiv.tar datei1.txt datei2.txt verzeichnis/

Das erstellt ein Archiv namens archiv.tar und fügt die Dateien datei1.txt, datei2.txt sowie den Ordner verzeichnis/ hinzu.

Archiv entpacken

Mit der Option -x kannst du ein Archiv entpacken:

1
tar -xvf archiv.tar

Dieses Kommando entpackt das Archiv archiv.tar im aktuellen Ordner.

Beim entpacken ist es immer eine gute Idee, das in einem leeren Ordner zu tun oder einen leeren Ordner als Zielpfad anzugeben. So kannst du die entpackten Inhalte besser von dem trennen, was bisher in deinem Ordner liegt.

komprimiertes Archiv erstellen

Verwendest du zusätzlich die Option -z, so wird dein Archiv gleich mit gzip komprimiert:

1
tar -czvf archiv.tar.gz datei1.txt datei2.txt verzeichnis/

Dies erstellt ein komprimiertes Archiv archiv.tar.gz.

komprimiertes Archiv entpacken

Zum Entpacken des gzip-komprimierten Archivs kannst du -z verwenden:

1
tar -xzvf archiv.tar.gz

Archiv in anderen Ordner entpacken

Mit der Option -C kannst du das Entpacken in ein bestimmtes Verzeichnis steuern:

1
tar -xvzf archiv.tar.gz -C hierhin_entpacken/

Dies entpackt das Archiv in das angegebene Verzeichnis.

Inhalte vom Archiv auflisten

Du kannst auch den Inhalt eines Archivs auflisten, ohne es zu entpacken:

1
tar -tvf archiv.tar.gz

Elemente aus Archiv ausschliessen

Genauso kannst du bestimmte Dateien oder Verzeichnisse vom Archivieren ausschliessen:

1
tar -cvzf archiv.tar.gz --exclude="*.log" verzeichnis/

Andere Optionen und verwandte Befehle

Natürlich ist das noch nicht alles, was du mit tar anstellen kannst. Weitere Optionen erlauben es dir zum Beispiel, Dateien in einem bestehenden Archiv hinzuzufügen (-r) oder Elemente zu löschen (-delete).

Genauso kann die Verwendung der Komprimierung auch in einem separaten Schritt oder gänzlich ohne tar erfolgen. Dafür relevante Befehle sind zum Beispiel zip, unzip, bzip, bunzip, gz, gunzip usw.

Fazit

Du hast gesehen: tar ist ein mächtiges Werkzeug zur Archivierung von Dateien unter Linux. Mit seinen zahlreichen Optionen zur Erstellung, Kompression und Verwaltung von Archiven ist es sowohl für einfache als auch für komplexe Archivierungsaufgaben geeignet.

Hilfe zu tar

Mehr zu tar findest du unter man tar und tldr tar. Details zum Befehl tldr gibt es hier.

Erstellt mit Hugo
Theme Stack gestaltet von Jimmy