Zuletzt aktualisiert am 14. Januar 2023.
Oder: Die vollständige Anleitung zu Tar und Gzip und wie man Dateien damit archiviert und entpackt
Tar-Dateien werden häufig in Verbindung mit dem Gzip-Algorithmus zum Komprimieren von Daten verwendet. Diese Komprimierung ist nicht immer effektiv, kann aber hilfreich sein, wenn große Datenmengen über eine Netzwerkverbindung übertragen werden.
Wieso nutzen wir tar? Tar ist dann sinnvoll, wenn man z.B. viele kleinere Dateien übertragen oder verschieben möchte. Es müssen so a) nicht etliche kleine Kopiervorgänge angestoßen werden und b) entfällt systemseitiger (I/O)-Overhead, der sonst bei vielen kleinen Dateioperationen anfallen würde.
Tar ist ein Befehlszeilendienstprogramm, mit dem Sie (komprimierte) Archive erstellen können. Dieser Artikel zeigt Ihnen, wie Sie tar mit der Befehlszeilenschnittstelle/Terminal verwenden.
Tar steht für Tape ARchive und wurde ursprünglich entwickelt, um Dateien in einer einzigen komprimierten Datei auf Band zu speichern. Tar-Dateien werden oft als Tarballs oder Tar-Archive bezeichnet.
Die Syntax des TAR-Befehls:
Die Grundstruktur des tar-Befehls ist wie folgt:
tar [Optionen] [Ausgabedatei] [Eingabedatei/Verzeichnis]
Das folgende Beispiel zeigt, wie Sie mit tar ein Archiv erstellen:
tar -cvf archive.tar mein-verzeichnis/
Das gleiche Verzeichnis kann in einem Vorgang mit komprimiert werden (zusätzlicher Anhang des Parameters “z”):
tar -cvfz archive.tar mein-verzeichnis/
Die Argumente von tar im Detail
Parameter | Bedeutung |
---|---|
tar | Ruft das PRogramm “tar” auf. |
c | Steht für “create” und bedeutet, dass ein neues Archiv in einer Datei (.tar) erzeugt wird. |
v | Steht für “verbose” und bedeutet, dass während des Prozesses des Packens in der Konsole angezeigt wird, welches Verzeichnis/File gerade bearbeitet wird. |
f | Steht für “file” und bedeutet, dass die Daten in ein File gepackt und ausgegeben werden. |
z | Steht für diee Verwendung von “gzip” und bedeutet, dass das Ausgabearchiv mittels gzip komprimiert wird. |
Anwendungsbeispiele von tar (und gzip)
Anmerkung: Tar packt Verzeichnisse und Dateien zu einem File mit der Endung .tar. Durch das Hinzufügen des Parameters "z" wird das tar-File zusätzlich noch komprimiert.
Verzeichnisse
So packen Sie Verzeichnisse in ein tar-Archiv:
tar -cfv ausgabe.tar [verzeichnis]
Mehrere Verzeichnisse
So packen Sie mehrere Verzeichnisse in ein tar-Archiv:
tar -cfv ausgabe.tar [verzeichnis1] [verzeichnis2] [verzeichnisN]
Einzelne Dateien
So packen Sie (mehrere) einzelne Dateien in ein tar-Archiv:
tar -cfv ausgabe.tar [file1] [file2] [fileN]
Nützliche Zusatzfunktionen
Verzeichnisse oder Dateien auslassen/ignorieren
Z.B. Für Backzwecke kann es sinnvoll sein, einzelne Dateien oder Verzeichnisse aus einem tar-Package auszuklammern. Beispielsweise, wenn temporäre Dateien nicht mit gesichert werden sollen.
Das geht mit folgendem Kommando:
tar cfv archiv.tar /mein-verzeichnis -- exclude=unterordner1 -- exclude=file1.txt
In diesem Beispiel werden das Verzeichnis “unterordner1” und die Datei “file1.txt” nicht mit gepackt.
Tar-Packages mit aktuellem Datum im Dateinamen erzeugen
Besonders praktisch und häufig genutzt ist das Packen mit tar für Backups. Da Backups eine zeitliche Ebene haben, ist es hier besonders praktisch, direkt das aktuelle Datum (und/oder die Uhrzeit) in den finalen Dateinamen des Tar-Packages einzubauen.
Das geht wie folgt:
tar cfv archiv-$(date +%d.%m.%y-%R).tar /mein-verzeichnis
Wir greifen hierbei auf die Datumsvariablen des Systems bzw. der Shell zurück.
Schreibe eine Antwort