Getart und zugzipt! – gzip, bzip2 und tar
Zu Befehl
tar-chivier mir was!
Mit tar kann man mehrere Files in einer Archivdatei zusammenfassen – praktisch, wenn man viele zusammengehörende Sachen von einem Rechner auf einen anderen übertragen möchte! Diese übrigbleibende, einzelne Archivdatei kann als ganzes natürlich leichter komprimiert werden. Um ein solches Archiv zu erstellen, kann man folgendes Kommando aufrufen:
huhn@huehnerstall ~ > tar cvf archiv.tar verzeichnis verzeichnis/ verzeichnis/datei.html verzeichnis/test/ verzeichnis/test/datei2 verzeichnis/text
Nach einzelnen Parameter aufgeschlüsselt ergibt sich folgendes: Die Option c steht für --create – also ein neues Archiv erstellen. Wenn man auf das v für --verbose (engl.: "wortreich") verzichtet, werden keine Dateinamen während des Archivierungsvorgangs angegeben. Die drei Buchstaben tar bedeuten übrigens "tape archiver": Ursprünglich war das Programm dafür vorgesehen, Dateien auf Bandgeräten zu speichern. Deswegen wird hier das f archivname verwendet, um anzuzeigen, dass nicht auf ein Gerät, sondern in ein File auf die Festplatte geschrieben werden soll. Natürlich braucht das Kind einen Namen – archiv.tar. Bei Verzeichnissen werden alle Dateien und sämtliche Unterverzeichnisse in das Archiv-File geschrieben. Möchte man zu dem bestehenden Archiv weitere Dateien hinzufügen, kann man tar rvf archiv.tar weiteredatei aufrufen – r steht für --append. Um sicherzugehen, daß diese Datei dort noch nicht vorhanden ist, kann man sich das Archiv natürlich vorher anschauen: tar tvf archiv.tar, wobei t auch durch die lange Form --list ersetzt werden kann. Die Zugriffsrechte und Eigentümer sollen erhalten bleiben? Dann sollten Sie tar pcvf archiv.tar /home (p steht für --preserve-permissions) verwenden – wenn die Verzeichnisse wieder ausgepackt werden, sind die Dateien wieder im Originalzustand.
Um ein Archiv wieder auszupacken, verwendet man tar xvf archiv.tar, wobei x für --extract steht. Sollen nur einzelne Dateien aus diesem Archiv entnommen werden, hängt man deren Namen an den Aufruf an. Bleibt zum Schluss festzuhalten, dass tar nicht automatisch komprimiert. Natürlich lässt sich ein solches Archiv noch packen mit gzip oder bzip2, man kann sich diesen zweiten Arbeitsschritt aber sparen und alles in einem Aufruf erledigen: tar czvf archiv.tar.gz verzeichnis zipt das Archiv gleich mit (tatsächlich wird das externe Programm gzip aufgerufen, d. h. es funktioniert nur, wenn es wirklich installiert ist). Ebenso ist das z auch zum Auspacken eines solchen komprimierten Pakets zu verwenden, hier lautet das Kommando dann tar xzvf archiv.tar.gz. Wenn man statt gzip lieber bzip2 verwenden möchte, sollte man vorher schauen, ob die eigene Distribution dieses anbietet (Man-Page lesen!). Auf dem Testrechner, unter Debian 2.1, funktionierte der Aufruf tar cIvf test.tar.bz2 verzeichnis (mit einem großen 'i' wie in 'Insel'), ein zweiter Computer verweigerte allerdings den Dienst: tar: invalid option -- I Try `tar --help' for more information.
Glossar
HOWTOS
Im Gegensatz zu den referenzartigen Man-Pages liefern die HOWTOS "Kochrezepte" für bestimmte Problemgebiete und sind damit für den Anfänger wesentlich besser geeignet. Bei gängigen Distributionen liegen sie unter /usr/doc/HOWTO. Dort gibt es z. B. die Datei Firewall-HOWTO.gz, die man entweder entpacken und dann lesen oder mit zless oder zmore (s. "Zu Befehl"-Folge Nr. 2) direkt anschauen kann.
stdout
Es gibt drei "Standardkanäle" für Ein- und Ausgabe, stdin (Standardeingabe), stdout (Standardausgabe) und stderr (Standardfehlerausgabe). Ein Benutzer hat z. B. die Tastatur als Standardeingabe und den Bildschirm als -ausgabe. Wenn man eine Datei beispielsweise mit zcat (gzip -d -c) dekomprimiert, dann wird sie, sofern sie nicht umgeleitet wird, auf den Bildschirm ausgegeben.
Symlinks
Symbolische Links: Ein Verweis auf eine andere Datei, der von Anwendungsprogrammen wie eben diese Datei behandelt wird. Wenn die Datei, auf die ein Symlink verweist, gelöscht wird, zeigt der Link ins Leere. Symlinks sind das Ergebnis des Kommandos ln -s.
Umgebungsvariable
Die Shell stellt dem Benutzer einen Speicher bereit, um bestimmte Informationen aufzubewahren und Programmen zugänglich zu machen. Diese Umgebungsvariablen (environment variables) bestehen jeweils aus dem Namen und dem zugeordneten Wert.



