Archivierung mit tar

tar-archive-featured

Der Befehl tar wird unter Linux-/UNIX-Betriebssystemen bei der Erstellung von .tar Archiven und vielen weiteren Anwendungen verwendet. Beispielsweise kann der Befehl auch bei der Extraktion von archivierten Dateien, oder zum Hinzufügen / Aktualisieren weiterer Dateien in bestehende Archive, verwendet werden.

tar Archive wurden ursprünglich zur Speicherung von Dateien auf Magnetbändern verwendet - daher auch der Name tar, denn dieser steht als Abkürzung für tape archiver. Heutzutage kann tar jedoch bei vielen verschiedenen Aufgaben Anwendung finden: So sind .tar Archive hervorragend für den Transport von Daten bzw. die Übertragung von vielen Dateien über ein Netzwerk geeignet. Außerdem wird tar oft bei der Durchführung von vollen und inkrementellen Backups verwendet. Für diesen Anwendungsfall stellt tar Ihnen spezielle Funktionen bereit, welche die Erstellung der dabei benötigten Dateisystem-Dumps vereinfachen.

In diesem Beitrag werden Sie zunächst jedoch die Grundlagen dieses mächtigen Befehls und seinen Optionen kennenlernen. Weitergehende Funktionen und Optionen werden in einem weiteren Beitrag behandelt.

Erstellung von Archiven

Eine der wichtigsten grundlegenden Optionen des Befehls tar ist -c (create). Diese wird zum Erstellen eines .tar Archivs benötigt. Die Syntax lautet folgendermaßen:

tar -c -f [Archivname] [Optionen] [Datei(en) / Verzeichnis(se)]

Benötigt wird neben der Option -c auch -f. Diese steht für den Dateinamen (file) und legt den Namen des zu erstellenden Archivs fest. Infolge der Namenskonventionen für Archive des tar Befehls sollte hierbei die Dateiendung .tar verwendet werden. Andere Dateiendungen sind jedoch dennoch möglich. Schließlich werden die Namen / Pfade der Dateien bzw. Verzeichnisse, welche in das Archiv aufgenommen werden sollen, hintereinander aufgelistet.

Im Folgenden wird die Erstellung eines Archivs beispielhaft vorgestellt.

Beispiel: Erstellung von Archiven

In diesem Beispiel soll der Inhalt des Verzeichnisses "profi-tutorials" unter /home/hellberg/ archiviert werden. Dabei wird der Befehl tar mit den Optionen -c (create) und -f (file) verwendet."

Verzeichnisinhalt (ls /home/hellberg/profi-tutorials/):
linux-tar-beispiel-erstellen-1
Eingabe:

Bei der Eingabe des folgenden Befehls befinden wir uns im genannten Verzeichnis /home/hellberg/profi-tutorials/.

tar -c -f profi-tutorials.tar convertchat convertviral e-business foto glossar it-consulting linux

Verzeichnisinhalt (ls /home/hellberg/profi-tutorials/):

Im Verzeichnis befindet sich nun neben den zu archivierenden Dateien auch das fertige Archiv "profi-tutorials.tar". Dieses enthält die Verzeichnisse "convertchat", "convertviral", "e-business", "foto", "glossar", "it-consulting" und "linux".

linux-tar-beispiel-erstellen-2

Auflisten von Archivinhalten

Wenn Sie den Inhalt einer .tar Datei einsehen möchten, dann können Sie nicht genauso vorgehen wie bei normalen Verzeichnissen. Stattdessen verwenden Sie die Option -t des tar Befehls:

tar -t -f [Archivname]

Die Option listet dabei nicht nur die schon bekannten Verzeichnisse, sondern auch deren Inhalt auf. Durch Zusatz eines Verzeichnis- bzw. Dateinamen haben Sie die Möglichkeit, nur bestimmte Inhalte des Archivs aufzulisten. Dabei ist jedoch zu beachten, dass die Namen genau, als Pfad relativ zum Verzeichnis in dem das Archiv erstellt wurde, angegeben werden müssen. Bei der Angabe von Verzeichnissen bzw. Verzeichnispfaden werden ebenfalls grundsätzlich alle Inhalte aufgelistet.

tar -t -f [Archivname] [Datei(en) / Verzeichnis(se)]

Es folgt ein kurzes Beispiel für die Auflistung von Archivinhalten.

Beispiel: Auflistung aller Archivinhalte

In diesem Beispiel soll der Inhalt des Archivs "profi-tutorials.tar" vollständig aufgelistet werden. Wir befinden uns dazu bereits im Verzeichnis /home/hellberg/profi-tutorials/, in dem das Archiv gespeichert ist.

Eingabe:

tar -t -f profi-tutorials.tar

Ausgabe:
linux-tar-beispiel-list-1
Beispiel: Auflistung spezieller Archivinhalte

Hier wird der Inhalt des Verzeichnisses linux/administration/ in der "profi-tutorials.tar" gelistet.

Eingabe:

tar -t -f profi-tutorials.tar linux/administration/

Ausgabe:
linux-tar-beispiel-list-2

Datei-/Verzeichnisinformationen anzeigen

Durch Zusatz der Option -v (verbose) gibt tar ähnliche Ausgaben aus, wie der Befehl ls in Kombination mit der Option -l. Es werden Zugriffsberechtigungen, Besitzer / Gruppe, Kapazität und schließlich das Datum bzw. die Zeit angezeigt.

Beispiel: Auflistung von Archivinhalten mit dem Zusatz -v

In diesem Beispiel sehen Sie ein weiteres Mal die Auflistung des Verzeichnisses linux/administration/. Hierbei wurde jedoch die Option -v zur Anzeige detaillierter Informationen zu den enthaltenen Dateien / Verzeichnissen verwendet.

Eingabe:

tar -t -v -f profi-tutorials.tar linux/administration/

Ausgabe:
linux-tar-beispiel-list-verbose

Extrahieren von Archiven

Wenn Sie wieder auf die in einem Archiv enthaltenen Dateien zugreifen wollen, dann müssen Sie diese zunächst extrahieren. Die Extraktion wird mit der Option -x (extract) durchgeführt - dabei können sowohl einzelne Dateien, als auch der gesamte Inhalt eines Archivs extrahiert werden. Das zu extrahierende Archiv wird wieder mit der Option -f (file) spezifiziert. Standardmäßig ist das Ziel dabei das aktive Arbeitsverzeichnis.

Bei dem Extrahieren von Dateien bzw. Verzeichnissen gilt es zu beachten, dass wenn extrahierte Verzeichnisse bereits im Zielverzeichnis bzw. dem Arbeitsverzeichnis enthalten sind, diese durch den Inhalt des extrahierten Verzeichnisses ergänzt werden. Ebenso werden Dateien im Ziel durch extrahierte Dateien ersetzt, wenn die Namen und relativen Pfade aus dem Archiv gleich sind. Aus diesen Gründen ist es immer ratsam, Archive in einem leeren Verzeichnis zu extrahieren und gegebenenfalls auch den Inhalt vorher zu überprüfen.

Extrahieren eines gesamten Archivs

Gesamte Archive können extrahiert werden, indem Sie neben dem Namen des Archivs keine weiteren Angaben machen:

tar -x -f [Archivname]
Beispiel: Extrahieren eines gesamten Archivs

Hier soll der gesamte Inhalt des Archivs "profi-tutorials.tar", welches sich unter /home/hellberg/profi-tutorials/ befindet, in das leere Verzeichnis /home/hellberg/archiv/ extrahiert werden. Vor der Ausführung des folgenden Befehls muss daher in das Zielverzeichnis gewechselt werden.

Eingabe (Aktives Arbeitsverzeichnis ist /home/hellberg/archiv/):

tar -x -f /home/hellberg/profi-tutorials/profi-tutorials.tar

Ausgabe (ls -l /home/hellberg/archiv/):

In dem zuvor leeren Verzeichnis /home/hellberg/archiv/ befinden sich nun auch die in dem Archiv "profi-tutorials.tar" enthaltenen Verzeichnisse, Unterverzeichnisse und Dateien.

linux-tar-beispiel-extract-all-1

Extrahieren spezifischer Elemente

Durch Angabe des exakten Namens einer Datei bzw. eines Verzeichnisses, können Sie dieses auch gesondert aus dem Archiv extrahieren. Es werden wieder die genauen Pfadangaben, relativ zum Erstell-Verzeichnis des Archivs, benötigt. Die Syntax lautet folgendermaßen:

tar -x -f [Archivname] [Datei-/Verzeichnisname]
Beispiel: Extrahieren spezifischer Elemente eines Archivs

In diesem Beispiel soll lediglich die Datei "befehl-grep.txt", welche sich im Archiv im Verzeichnis linux/grundlagen/ befindet, extrahiert werden. Das Ziel ist wieder das Verzeichnis /home/hellberg/archiv/. Vor dem Extrahieren wird in dieses Verzeichnis gewechselt und jeglicher Inhalt gelöscht.

Eingabe (Aktives Arbeitsverzeichnis ist /home/hellberg/archiv/):

Vor dem Extrahieren werden die extrahierten Verzeichnisse des vorigen Beispiels wieder gelöscht.

rm -R *

Das Arbeitsverzeichnis ist nun komplett leer.

Eingabe (Aktives Arbeitsverzeichnis ist /home/hellberg/archiv/):

tar -x -f /home/hellberg/profi-tutorials/profi-tutorials.tar linux/grundlagen/befehl-grep.txt

Ausgabe (ls -l /home/hellberg/archiv/linux/grundlagen/):

In dem zuvor leeren Verzeichnis /home/hellberg/archiv/ befindet sich nun der komplette Pfad /linux/grundlagen/ (1), sowie die angegebene Datei "befehl-grep.txt" (2). Wäre der Pfad bzw. die darin enthaltene Datei bereits im Arbeitsverzeichnis vorhanden gewesen, dann hätte tar diese überschrieben.

linux-tar-beispiel-extract-specific

Extrahieren in bestimmtes Zielverzeichnis

Zuletzt soll auch noch einmal die Option -C genannt sein - diese ermöglicht Ihnen die Wahl eines bestimmten Verzeichnis zum Ziel des Extrahierens. Die Syntax lautet:

tar -x  -f [Archivname] -C [Zielverzeichnis]
Beispiel: Extrahieren eines gesamten Archivs in ein Zielverzeichnis

Hier soll wieder der gesamte Inhalt des Archivs "profi-tutorials.tar", welches sich unter /home/hellberg/profi-tutorials/ befindet, extrahiert werden. Das Zielverzeichnis soll wieder das Verzeichnis /home/hellberg/archiv/ sein - Mit der Option -C wird es als solches festgelegt.

Eingabe (Aktives Arbeitsverzeichnis ist /home/hellberg/profi-tutorials/):

tar -x -f profi-tutorials.tar -C /home/hellberg/archiv/

Ausgabe (ls -l /home/hellberg/archiv/):
linux-tar-beispiel-extract-c

Lade Dir JETZT die Linux Befehle PDF herunter!


Erhalte einen Überblick zu den wichtigsten Linux und UNIX Befehlen!

Joel Benseler

Click Here to Leave a Comment Below

Leave a Comment: