Hosten Sie Ihren eigenen KI-Agenten mit OpenClaw - kostenlose 1-Klick-Installation!

Linux tar Anleitung: So nutzt man das Tool

Linux tar Anleitung: So nutzt man das Tool (Titelbild)

Wenn du schon mal Open-Source-Software heruntergeladen oder eine komplexe Ordnerstruktur zwischen Servern verschoben hast, ist dir der Befehl tar sehr wahrscheinlich schon begegnet. tar steht für „Tape Archive“ und gehört zu den wichtigsten Werkzeugen, die du unter Linux zur Hand hast. Im Kern packt tar mehrere Dateien und Ordner in eine einzige Archivdatei, oft „Tarball“ genannt.

Ursprünglich wurde das Tool entwickelt, um Daten für Backups nacheinander auf Magnetbandlaufwerke zu schreiben. Wofür nutzt man tar unter Linux heute eigentlich hauptsächlich? tar ist das gängige Standardformat, wenn es um die Weitergabe von Dateien und um System-Backups geht. Anders als ein simples Kopieren erhält tar wichtige Metadaten, zum Beispiel Berechtigungen, Zeitstempel und die komplette Ordnerstruktur. Dadurch ist tar praktisch unverzichtbar, wenn du Daten umziehen willst oder das Dateisystem eines Linux VPS oder eines Dedicated Server zuverlässig sichern musst.

Wichtig ist der Unterschied zwischen Archivieren und Komprimieren: tar fasst Dateien und Ordner standardmäßig nur zusammen, ohne sie kleiner zu machen. In der Praxis wird tar deshalb fast immer mit Komprimierungs-Tools wie Gzip oder Bzip2 kombiniert, um Speicherplatz zu sparen. So entstehen die bekannten Endungen wie .tar.gz oder .tar.bz2. Ob du schnell ein Backup ziehen oder eine Anwendung deployen willst: tar zu beherrschen gehört zu den Basics, wenn du dich im Linux-Terminal sicher bewegen willst.

Syntax und Aufbau des tar-Befehls

Wenn du den grundlegenden Aufbau des Befehls verstehst, kannst du tar deutlich sicherer und ohne typische Fehler verwenden. Der tar-Befehl hat eine feste Struktur: Sie legt fest, was genau passieren soll, wo das Ergebnis landet und welche Dateien oder Ordner ins Archiv kommen.

Grundsätzlich sieht die Syntax so aus:

tar [optionen] [archivename] [dateien-oder-verzeichnisse]

So setzen sich diese drei Bestandteile zusammen:

  • Optionen: Einzelne Buchstaben-Flags (z. B. -c, -v), die bestimmen, was tar tun soll. Damit legst du fest, ob du ein Archiv erstellst, ein bestehendes entpackst oder dir nur den Inhalt anzeigen lässt.
  • Archivname: Der Dateiname der Ausgabe, z.B. backup.tar.
  • Dateien/Verzeichnisse: Die Daten, die du ins Archiv packen oder daraus holen willst. Du kannst entweder eine einzelne Datei, einen kompletten Ordner oder mehrere Elemente (durch Leerzeichen getrennt) angeben.

Klarer wird das Ganze mit einem kurzen Beispiel. Wenn du ein Archiv photos.tar anlegen willst, das den Ordner /images enthält, nutzt du folgenden Befehl:

tar -cvf photos.tar /home/user/images

Hier bedeuten die Optionen -cvf: neues Archiv erstellen, den Vorgang ausführlich anzeigen (verbose) und das Ergebnis in eine bestimmte Datei schreiben. Es lohnt sich, die tar-Syntax wirklich zu beherrschen, weil die Reihenfolge der Optionen entscheidend ist: Vor allem muss -f in der Regel direkt vor dem Archivnamen stehen, sonst funktioniert der Befehl nicht.

Optionen und Flags bei tar

Die wahre Stärke von tar ist seine Vielseitigkeit und die steuerst du komplett über die Optionen (Flags). In den Manual Pages findest du zwar Dutzende tar-Optionen, aber für 99% der typischen Admin-Aufgaben reichen ein paar wenige, die du dir wirklich merken solltest. Du kannst viele Optionen auch zusammenziehen, z.B. -cvf, damit du weniger tippen musst.

Die wichtigsten tar-Optionen, sortiert nach Einsatzbereich:

Flags für die Aktion

Damit legst du fest, welche Hauptaktion tar ausführen soll. Normalerweise nutzt du davon immer nur eine Option gleichzeitig.

  • -c (–create): Neues Archiv erstellen.
  • -x (–extract): Inhalt eines bestehenden Archivs entpacken.
  • -t (–list): Inhalt eines Archivs anzeigen, ohne zu entpacken (praktisch zum Prüfen, bevor du es auspackst).
  • -r (–append): Hängt Dateien an das Ende eines bestehenden Archivs an.
  • -u (–update): Hängt Dateien nur an, wenn sie neuer sind als die Version im Archiv.

Allgemeine Optionen

Sie steuern, wie tar die Aktion ausführt, und welche Ausgaben du dabei bekommst.

  • -v (–verbose): Ausführliche Ausgabe im Terminal: du siehst jede Datei, während sie verarbeitet wird. Ohne -v läuft tar im Grunde „still“ durch und zeigt nichts an.
  • -f (–file): Gibt den Dateinamen des Archivs an. Für fast alle Aktionen mit einer konkreten Archivdatei ist -f praktisch Pflicht.
  • -p (–preserve-permissions): Original-Berechtigungen (User, Gruppe, Rechte) beim Entpacken/Übernehmen erhalten.

Komprimierungs-Flags

Mit diesen Optionen lässt tar das Archiv automatisch komprimieren.

  • -z: Komprimiert mit gzip (schnell, weitgehend kompatibel). Erzeugt .tar.gz.
  • -j: Komprimiert mit bzip2 (bessere Komprimierung, langsamer). Erzeugt .tar.bz2.
  • -J: Komprimiert mit xz (hohe Kompression, sehr langsam). Erzeugt .tar.xz.

Beim Kombinieren ist die Reihenfolge meist egal – mit einer Ausnahme: -f sollte (wie erwähnt) direkt vor dem Archivnamen stehen. Als Faustregel: Setz -f ans Ende der Optionsgruppe, damit der Archivname unmittelbar dahinter steht.

Beispiele: tar für Dateien und Ordner

Theorie hilft, aber am meisten lernst du, wenn du tar in konkreten Beispielen siehst. Ob Website-Backup oder Umzug von Konfigurationsdateien – der Ablauf ist im Grunde immer derselbe. Die folgenden Beispiele zeigen die typischen tar-Anwendungsfälle, die dir im Linux-Alltag am häufigsten begegnen.

Ordner mit tar packen (Archiv erstellen)

Der häufigste Anwendungsfall ist, einen ganzen Ordner in eine einzige Datei zu bündeln. Das macht man häufig vor einem Server-Umzug, damit beim Transfer keine Dateien verloren gehen. Um ein Verzeichnis namens /var/www/html in eine Datei namens web-backup.tar zu archivieren, würdest du Folgendes ausführen:

tar -cvf web-backup.tar /var/www/html

Damit wird der komplette Inhalt des html-Ordners rekursiv ins Archiv gepackt, inklusive aller Unterordner und Dateien. Das Verbose-Flag (-v) gibt die Liste der Dateien aus, während sie hinzugefügt werden, und liefert dir eine visuelle Bestätigung, dass der Prozess funktioniert.

Dateien mit tar packen (Archiv erstellen)

Manchmal willst du nicht den ganzen Ordner sichern, sondern nur ein paar gezielte Dateien. Nach dem Archivnamen kannst du beliebig viele einzelne Dateien angeben. Zum Beispiel: Wenn du nur Konfigurationsdateien und ein Error-Log sichern möchtest, verwendest du diesen Befehl:

tar -cvf config-backup.tar config.php error.log .htaccess

Damit kannst du sehr gezielt und präzise arbeiten. Du kannst beides auch mischen: erst einen Ordner angeben und danach zusätzlich einzelne Dateien. tar packt schlicht alles ein, was du angibst, und schreibt es ins Zielarchiv.

Dateien per Wildcard (Platzhalter) mit tar packen

Wenn du alle Dateien eines bestimmten Typs sichern willst, z. B. alle Logdateien in einem Ordner, kannst du mit einem Platzhalter (*) arbeiten. So sparst du dir, jeden einzelnen Dateinamen von Hand anzugeben:

tar -cvf logs-backup.tar *.log

Der Befehl sucht im aktuellen Ordner nach allen Dateien mit der Endung .log und packt sie ins Archiv. Das ist praktisch, um chaotische Verzeichnisse schnell aufzuräumen oder bestimmte Dateitypen gezielt separat zu sichern.

Komprimierte Archive mit tar erstellen

Ein Archiv zu erstellen ist hilfreich, aber tar allein macht die Dateien nicht kleiner – dafür brauchst du Komprimierung. Um Speicherplatz zu sparen und Übertragungszeiten zu verkürzen, musst du den Archivierungsprozess mit Komprimierung kombinieren. Die tar-Komprimierungsfunktion ist direkt in das Tool eingebaut und ermöglicht es dir, mit bestimmten Flags in einem einzigen Schritt zu archivieren und zu komprimieren.

Gzip-Komprimierung (Geschwindigkeit)

Gzip ist unter Linux am verbreitetsten, weil es schnell ist und praktisch überall unterstützt wird. Es bietet eine ordentliche Größenreduktion, ohne zu viel CPU-Leistung zu verbrauchen. Um Dateien mit tar unter Verwendung von Gzip zu komprimieren, verwende das -z-Flag.

  • Befehl: tar -czvf archive.tar.gz Verzeichnis/
  • Ergebnis: Eine .tar.gz- oder .tgz-Datei.

Bzip2-Komprimierung (Größe)

Wenn die Einsparung von Speicherplatz wichtiger ist als die Geschwindigkeit, ist Bzip2 eine starke Alternative. Es komprimiert Dateien enger als Gzip, benötigt aber etwas länger zur Verarbeitung. Dies ist ideal zum Archivieren großer Protokolle oder Textdateien, bei denen die Größenreduzierung entscheidend ist. Verwende für dieses Format das -j-Flag.

  • Befehl: tar -cjvf archive.tar.bz2 directory/
  • Ergebnis: Eine .tar.bz2-Datei.

Bzip2-Komprimierung (Größe)

Wenn die Einsparung von Speicherplatz wichtiger ist als die Geschwindigkeit, ist Bzip2 eine gute Alternative. Es komprimiert Dateien stärker als Gzip, benötigt aber etwas länger zur Verarbeitung. Das ist ideal, um große Logdateien oder Textdateien zu archivieren, bei denen die Größenreduktion entscheidend ist. Benutze das -j-Flag für dieses Format.

  • Befehl: tar -cjvf archive.tar.bz2 Verzeichnis/
  • Ergebnis: Eine .tar.bz2-Datei.

XZ-Komprimierung: maximale Kompressionsrate

Für das höchstmögliche Kompressionsverhältnis ist XZ der moderne Standard. Es ist spürbar langsamer, vor allem beim Packen, liefert dafür aber die kleinsten Archive. Dies ist perfekt für langfristige Backups, bei denen die Daten nur selten abgerufen werden müssen. Verwende das -J Flag (großes J).

  • Befehl: tar -cJvf archive.tar.xz Verzeichnis/
  • Ergebnis: Eine .tar.xz-Datei.

Welches Format passt, hängt vom Ziel ab: Gzip für den Alltag, XZ wenn du wirklich jeden Megabyte Speicherplatz ausreizen willst.

Extrahieren von Archiven mit tar

Entpacken ist genauso wichtig wie Packen – du musst Dateien ja auch wieder aus dem Archiv herausbekommen. Dafür nutzt du vor allem die Option zum Entpacken: -x. Beim Entpacken liest tar das Archiv und stellt Ordnerstruktur und Dateien genauso wieder her, wie sie im Archiv abgelegt wurden.

Um ein Archiv ins aktuelle Verzeichnis zu entpacken, nutzt du typischerweise -xvf.

tar -xvf archive_name.tar

Dies entpackt alles in den Ordner, in dem du dich gerade befindest.

Moderne tar-Versionen erkennen die Komprimierung oft automatisch. Beim Entpacken musst du deshalb häufig keine extra Option wie -z oder -j angeben. Ob .tar.gz oder .tar.bz2 – meistens reicht der normale Entpack-Befehl.

tar -xvf archive_name.tar.gz

Manchmal möchtest du Dateien in einen anderen Ordner entpacken, um deinen aktuellen Arbeitsbereich nicht zuzumüllen. Das geht auch ohne das Archiv zu verschieben: Nutze dafür -C (Verzeichnis wechseln). Damit sagst du tar, in welchen Zielordner es entpacken soll.

tar -xvf archive_name.tar.gz -C /path/to/destination

Vorsicht beim Extrahieren von Dateien, tar überschreibt bestehende Dateien mit denselben Namen ohne Rückfrage. Es ist eine gute Gewohnheit, den Inhalt zuerst mit -t aufzulisten. So weißt du genau, was gleich entpackt wird.

Fortgeschrittene tar-Beispiele für Linux und Unix

Wenn du das Erstellen und Entpacken sicher beherrschst, kannst du mit fortgeschritteneren Techniken arbeiten und dein Dateimanagement deutlich genauer steuern. Diese tar-Beispiele decken typische Spezialfälle ab, die dir bei Server-Administration oder anspruchsvolleren Backups immer wieder begegnen.

Dateien und Verzeichnisse ausschließen

Manchmal willst du einen Ordner packen, aber gewisse Dinge bewusst auslassen, z. B. temporäre Cache-Dateien oder versteckte Git-Verzeichnisse. Dafür nutzt du –exclude, um solche Dateien/Ordner auszuschließen. Es ist wichtig, dieses Flag vor dem Quellverzeichnis in der Befehlszeile zu platzieren.

tar -czvf backup.tar.gz --exclude='*.log' --exclude='.git' /var/www/project

Der Befehl packt den Projektordner, lässt aber alle .log-Dateien und den kompletten .git-Ordner weg. Das hält deine Backups schlank, aufgeräumt und spürbar kleiner.

Eine einzelne Datei extrahieren

Du musst nicht jedes Mal ein komplettes 10-GB-Archiv auspacken, nur um eine versehentlich gelöschte Konfigurationsdatei zurückzuholen. Du kannst auch gezielt einzelne Dateien oder Ordner entpacken, indem du ihren Pfad am Ende des Befehls angibst.

tar -xvf backup.tar.gz home/user/config.xml

Effizienter geht’s kaum: tar durchsucht das Archiv, sucht config.xml heraus und entpackt nur diese eine Datei – der Rest bleibt im Archiv.

Archivinhalt überprüfen

Bevor du ein Backup zurückspielst, solltest du kurz prüfen, was drin ist, ohne es gleich zu entpacken. Dies verhindert, dass aktuelle Daten mit veralteten Dateien überschrieben werden. Dafür ist -t da.

tar -tvf backup.tar.gz

Das gibt eine detaillierte Liste jeder Datei aus, inklusive Berechtigungen, Besitzer und Zeitstempel. Es fungiert als Inhaltsverzeichnis und ermöglicht dir zu überprüfen, ob das Archiv die richtigen Daten enthält, bevor du dich zum Entpacken entscheidest.

Berechtigungen beibehalten

Bei System-Backups ist es entscheidend, Eigentümer und Berechtigungen korrekt zu erhalten. tar versucht das bei root meist ohnehin, aber mit -p kannst du das gezielt erzwingen.

tar -cvpf full-backup.tar /home/user

Das stellt sicher, dass beim späteren Entpacken die Ausführungsrechte und Benutzerzugehörigkeiten exakt so bleiben, wie sie auf dem Originalsystem waren.

Häufige Anwendungsmuster und Best Practices

tar zu beherrschen heißt nicht nur, ein paar Optionen auswendig zu kennen. Es geht auch um saubere Workflows, die Datenverlust verhindern und deine Arbeit spürbar effizienter machen. Erfahrene Linux-Admins nutzen bewährte Workflows, damit Archive zuverlässig, eindeutig benennbar und im Ernstfall schnell wiederherstellbar sind.

Standardisiere deine Namenskonventionen

Typischer Fehler: Archive einfach backup.tar oder data.tar.gz zu nennen. Wenn du eine Woche später ein zweites Backup erstellst, riskierst du, das erste zu überschreiben. Bewährte Praxis: Häng an jeden Archivnamen das Datum dran.

tar -czvf website-backup-$(date +%F).tar.gz /var/www/html

Mit diesem Befehl erzeugst du automatisch eine Datei wie website-backup-2023-10-25.tar.gz. Mit diesem einfachen Trick kannst du Archive leicht sortieren und erkennen. So verhinderst du, dass du aus Versehen ein älteres, wichtiges Backup zerstörst.

Nutze relative Pfade statt absolute Pfade

Wenn du etwas archivierst, wechsle am besten zuerst ins übergeordnete Verzeichnis. So musst du nicht den kompletten Pfad ab dem Root-Verzeichnis angeben. Wenn du mit einem absoluten Pfad archivierst, zum Beispiel /home/user/data, landen die Dateien beim Entpacken unter Umständen wieder genau dort. Das kann auf dem Zielserver neuere Dateiversionen überschreiben. Mit relativen Pfaden, zum Beispiel ./data, bleibst du flexibel. Du kannst den Ordner später an jedem Ort entpacken, den du auswählst.

Prüfe erst, bevor du etwas löschst

Es ist verlockend, einen Ordner zu archivieren und das Original direkt danach zu löschen, um Speicherplatz zu sparen. Wenn der Archivierungsprozess jedoch fehlschlägt oder unterbrochen wird, könntest du alles verlieren. Am besten führst du zuerst den Archivbefehl aus. Danach prüfst du die Integrität der neuen Datei mit dem List-Flag (-t). Erst dann löschst du die Quelldateien.

Daten per SSH durch eine Pipe schicken

Ein besonders starkes Muster ist, Daten direkt an einen anderen Server zu schicken, ohne auf deinem lokalen Rechner erst eine temporäre Datei anzulegen. Das ist besonders praktisch, wenn dir auf der Platte der Speicherplatz knapp wird.

tar -cvf - /source/folder | ssh user@remote_server "tar -xvf - -C /destination/folder" 

In dieser Pipeline bedeutet – die Standardausgabe. Du leitest die Ausgabe von tar durch einen SSH-Tunnel und entpackst sie drüben direkt wieder. So kopierst du die komplette Verzeichnisstruktur in einem Rutsch sauber über das Netzwerk.

FAQ zum tar-Befehl

Hier findest du Antworten auf die häufigsten Fragen zur Nutzung dieses Tools.

Was ist tar unter Linux?

tar (Tape Archive) ist ein Kommandozeilen-Tool, mit dem du mehrere Dateien und Verzeichnisse in einer einzigen Archivdatei bündeln kannst. Unter Linux ist es das Standard-Tool, um Software zu paketieren, Daten zu sichern und Dateien zu verteilen. Es bündelt Dateien und wird oft mit Komprimierungs-Tools wie Gzip kombiniert, damit die Datei kleiner wird.

Wie man tar verwendet?

Du verwendest tar, indem du passende Flags kombinierst und dem System damit sagst, was es tun soll. Die Grundform sieht so aus: tar [flags] [archive-name] [files]. Die drei wichtigsten Flags, die du kennen musst, sind -c zum Erstellen eines Archivs, -x zum Entpacken eines Archivs und -f zum Angeben des Dateinamens.

Wie erstellst du unter Linux mit tar ein Archiv aus einem Ordner?

Um einen kompletten Ordner zu archivieren, nutzt du -c zum Erstellen, -v für die Ausgabe und -f für den Dateinamen.

Befehl:

tar -cvf archive-name.tar /path/to/folder 

Damit erstellst du ein unkomprimiertes Archiv des gewünschten Ordners.

Wie erstellst du unter Linux mit tar ein Archiv aus einer Datei?

Für eine einzelne Datei ist der Ablauf derselbe wie bei einem Ordner. Du verweist im Befehl einfach auf den Dateinamen statt auf ein Verzeichnis.

Befehl:

tar -cvf archive-name.tar filename.txt

Du kannst auch mehrere Dateien mit Leerzeichen trennen und so alle zusammen in ein einziges Archiv packen.

Wie benutze ich den Befehl tar xvf, um Archive zu entpacken?

Die Kombination xvf bedeutet eXtract, Verbose und File. Damit sagst du BSD, dass es ein Archiv entpacken soll, den Fortschritt im Terminal anzeigt und die Datei verwendet, die du angibst.

Befehl:

tar -xvf archive-name.tar 

Damit wird der Inhalt des Archivs in dein aktuelles Arbeitsverzeichnis entpackt. Wenn die Datei komprimiert ist, zum Beispiel .tar.gz, kannst du meist denselben Befehl nutzen. Moderne tar-Versionen erkennen das Kompressionsformat automatisch.

Fazit

tar zu beherrschen gehört zu den Grundfertigkeiten, wenn du eine Linux-Umgebung verwaltest. Es ist eine robuste und flexible Methode, um Dateien, Backups und Transfers präzise zu handhaben. Ob du komplexe Verzeichnisstrukturen bündelst oder große Datensätze für eine Migration zwischen einem Linux VPS und deinem lokalen Rechner komprimierst, dieses Tool gehört im Terminal weiterhin zu den zuverlässigsten.

Wenn du die Grundsyntax kennst und weißt, was Flags wie -z, -x und -v können, machst du dir viele tägliche Admin-Aufgaben deutlich leichter. Egal, ob du ein schnelles Datei-Backup machst oder einen vollständigen Application-Stack ausrollst, die Fähigkeit, Daten effektiv zu archivieren und zu entpacken, stellt sicher, dass dein Workflow effizient bleibt und deine Daten sicher sind. Je mehr du mit Linux arbeitest, desto mehr gehen dir diese Befehle in Fleisch und Blut über. Sie werden das Rückgrat deiner Strategie für die Dateiverwaltung.

Nach oben scrollen