UNIX Packprogramme |
tar -cvf ../meins.tar . |
Dieser Befehl erzeugt (c) eine Datei (f) namens ../meins.tar und zeigt (v) welche Dateien er einpackt. In das Archivdatei kommt das aktuelle Verzeichnis (.) hinein und alle Unterverzeichnisse. Dass die Unterverzeichnisse mitkommen ist bei tar Standard und muss nicht angegeben werden. Dass die Datei meins.tar im Verzeichnis vor dem aktuellen liegt (..), hat seinen praktischen Grund darin, dass tar so nicht in Versuchung kommt, das gerade erzeugte Archiv selbst ins Archiv aufzunehmen. Man kann das Problem auch dadurch umgehen, dass man sein Paket im Verzeichnis /tmp packt. Dass die Datei die Endung tar hat, ist nicht zwingend, sondern hat rein informativen Charakter.
tar -xvpf /tmp/meins.tar |
cd /home/ernst tar cf - . | ( cd /home/august ; tar xfp - ) |
Der Befehl kopiert alle Dateien unterhalb des Verzeichnisses /home/ernst in das Zielverzeichnis /home/august unter Beibehaltung aller Dateiattribute. Solche Befehlskombinationen sind auf den ersten Blick etwas erschreckend. Aber hier wird die besondere Stärke von UNIX ausgenutzt, Programme miteinander zu kombinieren. Zunächst wechselt der Befehl cd in das Startverzeichnis /home/ernst. Das ist wichtig, weil so in die >>tar-Datei<< kein Pfadname vor dem Startverzeichnis abgestellt wird. Der tar links von der Pipe (|) weist dann keine Überraschung auf. Durch die Kombination f - wird statt eines Speichermediums oder einer Datei in die Standardausgabe stdout und damit in die Pipe geschrieben. Rechts von der Pipe wird also ein auspackender tar stehen. Den kann man dort auch leicht identifizieren. Er steht in einer Klammer mit dem Befehl cd, der zunächst in das Zielverzeichnis /home/august wechselt. Nur so gelangen die Daten überhaupt an einen anderen Ort. Dort holt tar auf der rechten Seite die Daten aus der Pipe und legt sie dort ab, wo er steht. Das p gewährleistet auch für normale Anwender, dass alle Rechte der Dateien so bleiben, wie sie vor dem Kopieren waren.
Zusammenpressen: compress und gzip
compress
compress ist auf jeder UNIX-Maschine verfügbar
Auf jeder UNIX-Maschine findet man das Tool compress und das
Gegenstück uncompress. compress komprimiert die als
Argument genannten Dateien und hängt ihnen zur Kennzeichnung ein großes .Z
an den Namen an. Durch die Komprimierung können Textdateien leicht auf ein
Drittel ihrer Größe schrumpfen.
Die Originaldateien werden nach erfolgreichem Komprimieren gelöscht.
Die gepackte Datei kann mit compress -d oder mit dem Befehl
uncompress wieder entpackt werden.
Der Vielfältige: gzip
GNU zip kommt mit vielen Tools
Inzwischen verfügt fast jede Maschine über gzip und gunzip.
gzip (sprich: GNU zip) arbeitet wie compress dateienweise,
hat aber einen etwas besseren Komprimierungsalgorithmus.
gunzip kann auch von compress erzeugte Dateien entpacken. Umgekehrt
funktioniert das aber nicht. Eine mit gzip gepackte Datei
erkennt man an der Endung .gz. Ergänzt wird gzip durch weitere
praktische Tools. zless arbeitet wie more
allerding auf einer gepackten Datei. Sehr hilfreich ist auch zgrep,
mit dem man mehrere gepackte Dateien nach Stichworten durchsuchen kann,
ohne sie einzeln auspacken zu müssen. Diese Befehle sind besonders beim
Arbeiten mit den Howtos hilfreich, die
standardmäßig als gz-Dateien vorliegen.
tar cvzf ../archiv.tgz . |
Bevor man also Daten mit einem anderen System tauscht, sollte man prüfen, ob die Dateien auch kompatibel sind. Wird als Komprimierer gzip verwendet, verwendet man üblicherweise die Endung tgz.
zip projekt.zip *.c *.h |
Mit diesem Kommando werden alle Dateien des Verzeichnisses mit den Endungen .c und .h in der Datei projekt.zip zusammengefasst und komprimiert. Existierte die Datei vorher noch nicht, wird sie neu angelegt.
unzip projekt.zip |
Alle in der Datei projekt.zip zusammengefassten Dateien werden im aktuellen Verzeichnis ausgepackt. Da Zipdateien nicht aus dem UNIX Umfeld stammen, sind sie nicht in der Lage alle Attribute einer Datei zu sichern.
|
Diese Seite basiert auf Inhalten aus dem Buch
Arnold Willemer: Wie werde ich UNIX-Guru Verlagsrechte bei galileo computing |
| Homepage |
(C) Copyright 2002 Arnold Willemer
|