tar [OPTIONEN] [TARARCHIV] [DATEILISTE]
In den Optionen bilden die Schalter eine besondere Gruppe. Es kann immer nur ein Schalter zur Zeit verwendet werden, während die anderen Optionen kombinierbar sind.
Schalter | |
A | Hängt das ARCHIV2 and das Ende von ARCHIV1 |
c | Legt ein neues Archiv an |
d | Vergleicht den Inhalt des Archivs mit anderen Dateien |
r | Fügt die neuen Dateien an das Ende eines bestehenden Archivs an |
t | Zeigt eine Liste aller Dateien im Archiv |
u | Fügt nur neue oder veränderte Dateien zum Archiv hinzu |
x | Extrahiert Dateien aus dem Archiv |
Optionen | |
b N | Definiert die Blockgröße |
e | Verhindert das Aufsplittern von Dateien über Archiv-Volumes |
f DATEI | Name des Archivs mit Pfad oder Gerätename |
j | Benutzt bzip2 zur Kompression |
m | Übernimmt nicht die Änderungszeit der Datei aus dem Archiv |
n | Das Gerät ist kein Bandgerät |
p | Die Originalrechte werden übernommen |
v | Zeigt die Liste der Dateien an, die bearbeitet werden |
w | tar arbeitet interaktiv |
z | Benutzt gzip zur Kompression |
F Skript | Am Ende jedes Mediums das angegeben Skript ausführen |
L | Länges des Bandes in kByte |
M | Das Archiv ist in mehrere Teile (Volumes) aufgeteilt. |
W | Überprüft die Dateien, nachdem sie zum Archiv hinzugefügt worden sind. |
X DATEI | Die in DATEI aufgeführten Dateien werden nicht berücksichtig. |
Z | Benutzt compress zur Kompression |
--exclude DATEI |
Die DATEI wird nicht berücksichtigt. |
tar cf archiv.tar .
Als Ziel kann neben einer Datei auch ein Gerät angegeben werden. Der folgenden Befehl speichert das komplette Dateisystem auf dem Gerät /dev/tape.
tar cf /dev/tape /
Dabei wird der Inhalt des Magnetbandes überschrieben. Meistens müssen Sie bei einem Magnetband die Blockgröße mit angeben. Die Blockgröße definiert dabei die Menge an Daten (in Einheiten zu 512 Byte), die zur gleichen Zeit geschrieben werden können. Die Angabe erfolgt durch die Option b.
tar cfb /dev/tape 20 /
Wie Sie sehen, wird der Wert für b nicht wie üblich direkt hinter die Option geschrieben, sondern erst werden die Optionen aufgeführt und dann in der Reihenfolge die Werte.
Wenn Sie das Archiv auf mehrere Geräte (z. B. Disketten) aufteilen wollen, müssen Sie die Größe der Archiv-Teile (Volumes) angeben. Dies erfolgt durch den Schalter M. So speichert der folgende Befehl den Inhalt des Verzeichnis /home auf das Diskettengerät /dev/fd0 mit einer Größe von 1440 kB.
tar cfML /dev/fd0 1440 /home
Wenn Sie ein bestehendes Archiv nur auf den neuesten Stand bringen wollen, ohne alle Dateien erneut hineinzupacken, dann benutzen Sie den Schalter u.
tar uf archiv.tar .
Sie können Dateien auch an ein bestehendes Archiv anhängen.
tar rf archiv.tar neueDatei
Solche Archive können sehr groß werden, wenn Sie z. B. Logdateien speichern. Da es sich hierbei in den meisten Fällen um reine Textdateien handelt, können sehr gut gepackt werden. Mit der Option z wird tar angewiesen, das entstandene Archiv auch gleich mit gzip (Abschnitt 13.6.1) zu packen.
Um sich die Dateiliste des Archivs anzeigen zu lassen, kann man den folgenden Befehl verwenden.
tar tf archiv.tar
Nicht immer wollen Sie alle Dateien bzw. Unterverzeichnisse mit in das Archiv packen. Hier kommt die Option -exclude ins Spiel. Diese Option kann mehrfach vorkommen und gibt an, welche Dateien nicht mit ins Archiv sollen.
barclay@enterprise:~/test> tar cvf befehle.tar befehle/ befehle/ befehle/data befehle/befehle befehle/befehle.bck befehle/data.bck befehle/data.old barclay@enterprise:~/test> tar cvf befehle.tar --exclude data.old befehle/ befehle/ befehle/data befehle/befehle befehle/befehle.bck befehle/data.bck barclay@enterprise:~/test> tar cvf befehle.tar --exclude data.old --exclude "*.bck" befehle/ befehle/ befehle/data befehle/befehle
Haben Sie ein paar Dateien mehr, die nicht mit ins Archiv dürfen, dann können Sie die Namen auch in eine Datei schreiben und diese mit dem Schalter -X als Informationsquelle verwenden.
barclay@enterprise:~/test> cat noarchiv data.old *.bck barclay@enterprise:~/test> tar cvf befehle.tar -X noarchiv befehle/ befehle/ befehle/data befehle/befehle
tar xvf archiv.tar
Vor dem Entpacken, sollten Sie feststellen welche Verzeichnispfad gespeichert wurden. Dies können Sie mit dem Befehl
tar tvf archiv.tarfeststellen. Die Option v erzeugt eine ausführlichere Anzeige als t alleine.
Schauen wir uns doch mal folgendes Beispiel an:
Aus dem Wurzelverzeichnis haben Sie die Daten im Verzeichnis /home mit folgendem Befehl gespeichert.
tar cf home.tar home/*
Daher wurde das Verzeichnis home in jedem Pfad mit eingefügt. Sind Sie allerdings ins Verzeichnis /home gewechselt und haben den Befehl als
tar cf home.tar .ausgeführt, so ist das Verzeichnis home nicht mehr Bestandteil des Dateipfads.
Bei einem Backup sollten Sie die Dateien immer in dem gleichen Verzeichnis extrahieren in dem Sie auch das Archiv erzeugt hatten.
Um einzelne Dateien aus einem Archiv zu entpacken, können Sie zum einen den interaktiven Modus (Option w) von tar wählen. Bei dem folgenden Befehl werden Sie bei jeder Datei gefragt, ob Sie die Datei entpacken wollen.
tar xvwf archiv.tar
Allerdings hat diese Methode einen schwerwiegenden Nachteil. Auf diesem Wege eine Datei aus einem 10.000 Dateien-Archiv zu entpacken ist doch etwas mühselig. Hier bietet sich einfach an, die gewünschte Datei einfach anzugeben.
tar xf archiv.tar meineDatei.txt
Sie können auch den umgekehrten Weg nehmen und die Dateien angeben, die nicht extrahiert werden sollen. Dies geht analog zum Erstellen des Archivs.
tar xvf archiv.tar --exclude "*.bck"