12.6. bzip2 und gzip: Kompressionsprogramme

Sie haben von diesen Programmen schon im Zusammenhang mit tar erfahren. Im Gegensatz zu anderen Betriebssystemen werden unter Linux meist zwei verschiedene Programme zum Erstellen komprimierter Archive benutzt: tar zur Archivierung und bzip2 oder gzip zur Komprimierung. Sie können auch einen anderen Komprimierer verwenden, Programme wie zip, arj oder rar gibt es natürlich auch für Linux (werden hier jedoch recht selten verwendet).

bzip2 löst langsam gzip als Standardformat zur Kompression ab. Es erzielt meistens bessere Kompressionsraten und sein höherer Ressourcenverbrauch fällt heutzutage kaum ins Gewicht. Trotzdem geht dieser Prozess nur langsam vor sich, sodass wohl beide Programme noch für eine ganze Weile parallel zueinander eingesetzt werden.

Beide Kommandos haben eine ähnliche Syntax:

gzip [Optionen] [Datei(en)]

Wird kein Dateiname angegeben, warten beide Programme auf Daten aus der Standard-Eingabe und senden das Ergebnis zur Standard-Ausgabe. Daher können Sie beide Programme in Verbindung mit anderen Programmen benutzen. Beide haben auch eine Gruppe gleicher Optionen:

Warnung

gzip und bzip2 löschen die Ursprungsdateien (bzw. Archive) nach dem Komprimieren/Dekomprimieren, sollten Sie nicht die Option -c benutzen. Bei bzip2 können Sie das mit der Option -k unterbinden, doch gzip kennt keine solche Option!

Nun einige Beispiele. Angenommen, Sie möchten alle Dateien im aktuellen Verzeichnis, die auf .txt enden, mit bzip2 komprimieren. Das geht so:

$ bzip2 -9 *.txt

Angenommen, Sie möchten jemanden an Ihrem Bilderarchiv teilhaben lassen, aber er hat nur gzip und nicht bzip2. Mittels der Umleitung von Standard-Ausgabe und Standard-Eingabe können Sie die Archivumwandlung in einem Rutsch erledigen:

bzip2 -dc images.tar.bz2 | gzip -9 > images.tar.gz

Und fertig. Anstelle von bzip2 -dc hätten Sie auch bzcat verwenden können. Auch gzip kennt ein solches Kommando, doch heißt es zcat (und nicht etwa gzcat). Des Weiteren gibt es bzless (bzw. zless), wenn Sie komprimierte Dateien ohne vorige Dekomprimierung einsehen wollen. Als kleine Übung können Sie ja mal versuchen, herauszufinden, wie das Kommando lauten müsste, dass die Funktion von bzless oder zless wiedergibt :-)


Tux on Star from MandrakeSoft Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Alle anderen Warenzeichen und Copyrights sind das Eigentum ihrer Inhaber.
Sofern nichts anderes Angaben ist, unterliegen die Inhalte der Seiten sowie alle Bilder dem Copyright von MandrakeSoft S.A. und MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/