VMware ESXi and vSphere Cluster Management
Dateien mit tar archivieren und komprimieren
Lerne, wie du unter Linux mit tar Archive erstellst, Inhalte anzeigst, gzip-Komprimierung nutzt, Dateien extrahierst und tar-Archive zusammenführst.
tar ist ein Standardwerkzeug unter Linux, um mehrere Dateien und Verzeichnisse in einer gemeinsamen Archivdatei zusammenzufassen. In dieser Anleitung lernst du, Archive zu erstellen, ihren Inhalt zu prüfen, sie zu komprimieren, zu extrahieren und miteinander zu verbinden.
Was ist tar?
Der Name tar steht ursprünglich für tape archiver. Das Werkzeug wurde zunächst entwickelt, um Dateien für Magnetbänder zu bündeln. Heute wird tar vor allem für Dateiarchive, Softwarepakete und Sicherungen verwendet.
Ein Archiv ist eine Datei, die mehrere Dateien oder Verzeichnisse enthält. tar fasst diese Daten zusammen, komprimiert sie aber nicht automatisch. Eine tar-Datei kann daher größer sein als die Summe der enthaltenen Dateien, weil zusätzlich Verwaltungsinformationen gespeichert werden.
Die Begriffe Tar-Archiv und Tarball werden häufig gleichbedeutend verwendet. Ein Tarball kann ein unkomprimiertes Archiv mit der Endung .tar oder ein zusätzlich komprimiertes Archiv sein.
Archivierung und Komprimierung im Vergleich
- Archivierung: Mehrere Dateien und Verzeichnisse werden in einer Datei gebündelt.
- Komprimierung: Daten werden so codiert, dass sie weniger Speicherplatz benötigen.
tar übernimmt hauptsächlich die Archivierung. Über Optionen kann tar zusätzlich ein Komprimierungsprogramm wie gzip verwenden. Unter Linux wird tar normalerweise direkt über das Terminal ausgeführt. Es arbeitet mit relativen und absoluten Pfaden und berücksichtigt dabei die aktuellen Zugriffsrechte.
Tar-Dateiendungen und Archivformate
Die Dateiendung beschreibt üblicherweise, ob und mit welchem Verfahren ein tar-Archiv komprimiert wurde. Die Endung allein erzwingt jedoch keine technische Prüfung: Entscheidend ist, wie das Archiv tatsächlich erstellt wurde.
| Endung | Archivierung | Komprimierung | Passende tar-Option |
|---|---|---|---|
.tar | tar-Archiv | keine zusätzliche Komprimierung | keine Komprimierungsoption |
.tar.gz | tar-Archiv | gzip | -z |
.tgz | tar-Archiv | gzip | -z |
.tar.bz2 | tar-Archiv | bzip2 | typischerweise -j |
.tgz ist eine Kurzform von .tar.gz. Bei einem gzip-komprimierten Archiv muss beim Erstellen und Extrahieren die Option -z verwendet werden, sofern tar die Komprimierung nicht automatisch anhand des Inhalts erkennt.
Die wichtigsten tar-Optionen
| Option | Funktion | Typischer Einsatz |
|---|---|---|
-c | Erstellt ein neues Archiv | Dateien oder Verzeichnisse archivieren |
-t | Listet den Archivinhalt auf | Archiv vor dem Entpacken prüfen |
-x | Extrahiert Dateien | Archiv entpacken |
-A | Hängt ein tar-Archiv an ein anderes an | Zwei kompatible tar-Archive zusammenführen |
-f | Legt die Archivdatei fest | Archivname angeben |
-z | Verwendet gzip | .tar.gz oder .tgz erstellen beziehungsweise extrahieren |
-v | Gibt verarbeitete Dateien ausführlich aus | Fortschritt und Dateiliste im Terminal anzeigen |
Mehrere Optionen lassen sich kombinieren. In der kurzen Schreibweise wird beispielsweise -czf als Kombination aus -c, -z und -f gelesen.
Bei Befehlen wie tar -cf archive.tar results.txt sample_text steht der Archivname direkt nach -f. Danach folgen die Dateien oder Verzeichnisse, die aufgenommen werden sollen. Diese Reihenfolge ist wichtig.
Ein unkomprimiertes Archiv erstellen
Mit -c wird ein neues Archiv erzeugt. -f gibt den Namen der Archivdatei an:
tar -cf archive.tar results.txt sample_text
Dieser Befehl fasst results.txt und sample_text in archive.tar zusammen. Die beiden Eingabedateien bleiben unverändert.
Mehrere Dateien werden auf dieselbe Weise angegeben:
tar -cf projekt.tar README.md config.ini daten.csv
Ein vollständiges Verzeichnis samt Inhalt wird ebenfalls als Eingabe übergeben:
tar -cf dokumente.tar dokumente/
Wenn du sehen möchtest, welche Dateien verarbeitet werden, ergänze -v:
tar -cvf dokumente.tar dokumente/
Sinnvolle Archivnamen enthalten häufig den Inhalt und optional ein Datum, zum Beispiel projekt-2026-08-18.tar. Verwende eine Endung, die zur tatsächlichen Komprimierung passt.
Ein gzip-komprimiertes Archiv erstellen
Mit -z wird gzip zusätzlich zu tar verwendet. Das Ergebnis ist ein gzip-komprimiertes tar-Archiv:
tar -czf compress.tgz results.txt sample.txt
Die ausführliche Variante zeigt die verarbeiteten Dateien an:
tar -czvf projekt-2026-08-18.tar.gz projekt/
.tar.gz und .tgz bezeichnen dabei dasselbe Prinzip. gzip reduziert häufig die Dateigröße, insbesondere bei Textdateien. Bereits komprimierte Dateien wie Bilder oder Videos werden dagegen oft nur wenig kleiner.
Den Inhalt eines Archivs anzeigen
Mit -t kannst du den Inhalt auflisten, ohne Dateien zu extrahieren:
tar -tf archive.tar
Bei einem gzip-komprimierten Archiv wird -z ergänzt:
tar -tzf compress.tgz
Mit -v zeigt tar zusätzlich Informationen wie Dateirechte, Eigentümer, Größe und Änderungszeit an:
tar -tzvf compress.tgz
Die Dateiliste ist eine wichtige Kontrolle. Prüfe vor dem Entpacken, ob die erwarteten Dateien vorhanden sind und ob die Pfade in ein geeignetes Zielverzeichnis führen.
Archive extrahieren
Ein unkomprimiertes Archiv wird mit -x und -f vollständig im aktuellen Verzeichnis extrahiert:
tar -xf archive.tar
Ein gzip-komprimiertes Archiv wird mit -z entpackt:
tar -xzf compress.tgz
Du kannst die Dateien währenddessen mit -v anzeigen:
tar -xzvf compress.tgz
tar legt enthaltene Verzeichnisse an, falls sie noch nicht existieren. Bereits vorhandene gleichnamige Dateien können beim Extrahieren überschrieben werden. Prüfe deshalb zuerst das aktuelle Arbeitsverzeichnis und den Archivinhalt:
pwd
ls
tar -tzf compress.tgz
Extrahiere unbekannte Archive möglichst in ein neu angelegtes, passendes Zielverzeichnis. So vermeidest du, dass vorhandene Dateien im aktuellen Verzeichnis unbeabsichtigt ersetzt werden.
Archive zusammenführen
Die Option -A hängt den Inhalt eines tar-Archivs an ein anderes tar-Archiv an:
tar -Af first.tar second.tar
Nach diesem Befehl enthält first.tar zusätzlich die Einträge aus second.tar. Das ursprüngliche second.tar bleibt dabei als eigene Datei erhalten.
Diese Funktion bezieht sich auf kompatible, unkomprimierte tar-Archive. -A ist keine allgemeine Komprimierungsfunktion und dient nicht dazu, gzip- oder bzip2-Dateien zusammenzufügen. Bei komprimierten Archiven musst du sie zunächst passend behandeln oder ein neues Archiv aus den extrahierten Inhalten erstellen.
Typische Arbeitsabläufe
Archiv erstellen und kontrollieren
- Wechsle in das Verzeichnis, in dem die Eingabedateien liegen.
- Erstelle das Archiv mit
-cund-f. - Liste den Inhalt mit
-tauf. - Prüfe, ob alle erwarteten Dateien enthalten sind.
cd projekt
tar -cf projekt.tar README.md src/
tar -tf projekt.tar
Gzip-Archiv erstellen und extrahieren
tar -czf projekt.tgz projekt/
tar -tzf projekt.tgz
mkdir wiederhergestellt
tar -xzf projekt.tgz -C wiederhergestellt
Die Option -C legt bei der Extraktion ein Zielverzeichnis fest. Dieses Verzeichnis muss bereits existieren, wie im Beispiel mit mkdir.
Fehlerbehebung
Datei fehlt im Archiv
Wenn eine erwartete Datei fehlt, wurde meist ihr Name oder Pfad beim Erstellen falsch angegeben. Prüfe die Eingaben vor dem Befehl und anschließend den Inhalt:
ls
tar -tf archive.tar
Gzip-Archiv wird nicht korrekt verarbeitet
Bei .tar.gz oder .tgz fehlt möglicherweise die Option -z. Verwende zum Erstellen tar -czf und zum Extrahieren tar -xzf.
Dateien werden überschrieben oder am falschen Ort angelegt
Prüfe mit pwd das aktuelle Arbeitsverzeichnis und zeige mit tar -tf die enthaltenen Pfade an. Extrahiere das Archiv bei Unsicherheit in ein leeres Zielverzeichnis.
Archivdatei kann nicht geöffnet werden
Kontrolliere den Dateinamen, den Pfad und die Leseberechtigungen:
ls -l archive.tar
ls -l /pfad/zum/archiv.tar
Ein falsch geschriebener Archivname oder ein nicht erreichbarer Pfad führt ebenfalls zu einer Fehlermeldung.
Die .tar-Datei ist größer als erwartet
Ein .tar-Archiv bündelt Dateien, komprimiert sie aber nicht. Verwende für gzip-Komprimierung beispielsweise:
tar -czf projekt.tar.gz projekt/
Kurzreferenz
tar -cf archive.tar datei1 datei2erstellt ein unkomprimiertes Archiv.tar -czf archive.tgz datei1 datei2erstellt ein gzip-komprimiertes Archiv.tar -tf archive.tarzeigt den Inhalt an.tar -tzvf archive.tgzzeigt den Inhalt eines gzip-Archivs ausführlich an.tar -xf archive.tarextrahiert ein unkomprimiertes Archiv.tar -xzf archive.tgzextrahiert ein gzip-komprimiertes Archiv.tar -Af first.tar second.tarhängt ein tar-Archiv an ein anderes an.
Weitere Hinweise zum Thema findest du unter Dateien mit tar archivieren.