h1

Der „tar“-Befehel

November 6, 2008

Ich weiß nicht, ob ich der einzige bin dem es so geht, aber mir rutscht die Verwendung des tar-Befehls einfach ständig weg und ich muss immer wieder in meinem Schlauen Buch nachsehen ;-)! Wem das auch so geht für, den schreibe ich jetzt hier mal eine kleine Einführung zur Verwendung des Befehls inklusive zwei nützlicher Beispiele!

Der Programm tar wird stets in folgender Syntax aufgerufen:

tar –LangeOpionen -Optionen [tar-Datei] [Quelldatei]

Letzteres fällt beim entpacken weg, es sei den es wird ein Zielpfad angegeben.
Dabei sind lange Optionen Sachen wie –modification-time oder –overwrite und kurze Optionen (diese interessieren uns hier) Befehle, die angeben auf welche Art und Weise das Archiv entpackt oder gepackt werden soll. Zu diesen Optionen hier eine kleine Übersicht mit den wichtigsten von ihnen:

  • -c : (create) Erstellt das angegebene Archiv aus der Quelldatei
  • -x : (xtract) Entpackt das angegebene Archiv
  • -f : (file) gibt an, dass Dateien als Ein-/Ausgabe verwendet werden (wenn nicht verwendet wird die Standardein-/ausgabe verwendet
  • -r : (append) Dateien ans Ende eines bereits existierenden Archivs anhängen
  • -u : (update) Dateien zum Archiv hinzufügen, wenn sie noch nicht enthalten sind
  • -v : (verbose) Verarbeitete Dateinamen anzeigen lassen
  • -t : (list) Zeigt den Inhalt eines Archives an
  • -j : (bzip2) Muss verwendet werden, wenn ein .tar.bz2 Archiv erstellt oder entpackt wird
  • -z : (gzip) Muss verwendet werden, wenn ein .tar.gz Archiv erstellt oder entpackt wird

So viel fürs erste hier einige Simple Anwendungsbeispiele:

~/ tar -cvf simpel.tar simpel/

Dieser Befehl erstellt aus dem Ordner simpel/ im aktuellen Verzeichnis ein tar-Archiv mit dem Namen simpel.tar und gibt dank „v“ die verwendeten Dateien an. Die Verwendung von -f ist notwedig, da wir ja Dateien als Input verwenden.

~/ tar -xvf simpel.tar

Enpackt das soeben erstellte Archiv im aktuellen Verzeichnis und gibt wieder die entpackten Dateien aus.

~/ tar -xvjf simpel.tar.bzip2 /home/cloem/beispiel

Entpackt das angegebene bzip2-Archiv in den Ordner /home/clemens/beispiel

~/ tar -rf simpel.tar einfach/

Hängt den Inhalt des Verzeichnisses einfach/ an das Archiv simpel.tar an und unterdrückt die Ausgabe

Natürlich gibt es zahlreiche weitere Optionen, mit denen man die verschiedensten Dinge tun kann. Dazu würde ich allerdings empfehlen die man-Page („~/ man tar“) zu lesen (englisch).

Zum Schluss noch zwei nützliche Verwendungsbeispiele:

~/ tar -cvf – `find . -print` > backup.tar

Dieser Befehl speichert alle Dateien des aktuellen Verzeichnisses in der Datei backup.tar, welche im aufrufenden Verzeichnis abgelegt wird.

~/ tar cvfz /data/archiv/backup_ohne_python.tar.gz /home/cloem –exclude=*.py

Der Befehl erstellt im Verzeichnis /data/archiv/ ein gzip-Archiv mit dem Namen backup_ohne_python.tar.gz welches den gesamten Inhalt des Homeverzeichnisses enthält, allerdings werden Dateien, die auf „.py“ enden ausgeschlossen.

One comment

  1. Netter Artikel. Dein Bashprompt verwirrt ein wenig. Es sieht immer so aus, als würdest du im Homeverzeichnis (~) den tar-Befehl aufrufen.



Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: