Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.
gzip steht für GNU zip und ist unter Linux - neben bzip2 - wohl die am häufigsten genutzte Komprimierungsmethode. Mit gzip gepackte Dateien haben in der Regel die Dateiendung .gz. Zum Entpacken von gzip-Archiven kann der Befehl gunzip
eingesetzt werden. gunzip kennt die gleichen Optionen wie gzip und ist im Prinzip nichts anderes als der Aufruf von gzip mit der Option zum Entpacken (Details siehe unten). Daher wird im Folgenden nur gzip behandelt.
Zu beachten ist, das gzip
nur einzelne Dateien packen kann. Für Archive mit mehreren Dateien sind diese z.B. vorher mittels tar zusammenzufassen und dann die entstehende Archivdatei zu packen.
Die allgemeine Syntax von gzip lautet [1]:
gzip OPTIONEN Datei(en)
So erzeugt z.B. der Aufruf von
gzip eine_datei.txt
das Archiv eine_datei.txt.gz. Ruft man gzip mit mehreren Dateien auf
gzip datei_1.txt datei_2.txt datei_3.txt
so entstehen drei gz-Archive datei_1.txt.gz, datei_2.txt.gz und datei_3.txt.gz.
Beim Packen einer Datei mit gzip wird standardmäßig die Originaldatei gelöscht, d.h. es existiert nur noch das Archiv. Umgekehrt wird beim Entpacken das Archiv gelöscht und es existiert nur noch die Originaldatei. Dies lässt sich mit der Option -k
deaktivieren.
gzip kennt verschiedene Optionen, von denen im Folgenden einige erklärt werden:
gzip - Optionen | |
Option | Beschreibung |
-1 ... -9 | Gibt den Komprimierungsgrad an. 1 ist die schlechteste aber schnellste Komprimierung, 9 die beste aber langsamste Komprimierung. Voreinstellung ist 5 . |
-r | Dateien werden einzeln rekursiv in allen Unterverzeichnissen komprimiert bzw. dekomprimiert. |
-f | Eventuell vorhandene Dateien werden ohne Rückfrage überschrieben. |
-d | Decompress, d.h. die angegebene Datei (Archiv) wird in das aktuelle Verzeichnis entpackt. |
-k | Die Originaldatei wird beibehalten und nicht gelöscht. |
-l | Gibt Details zum Archiv aus, wie z.B. Kompressionsrate, Größe der unkomprimierten Datei etc. |
-c | Schreibt auf die Standardausgabe (also in der Regel den Bildschirm). |
-q | Unterdrückt alle (Warn-) Meldungen. Dies ist hilfreich, wenn eine größere Datei im Hintergrund ge- bzw. entpackt werden soll. |
-t | Testet die Integrität des Archivs. |
-h | Zeigt eine vollständige Übersicht über alle Optionen. |
Eine detaillierte Beschreibung erhält man auch in den man-Pages oder info-Seiten zu gzip.
Es wird eine Datei entpackt. Da keine weiteren Angaben gemacht werden, befindet sich die entpackte Datei archiv.txt im aktuellen Verzeichnis (von dem aus gzip aufgerufen wurde):
gzip -d archiv.txt.gz
Es wird eine Datei auf die Standardausgabe entpackt und mit grep nach einer Zeichenkette durchsucht. Dabei kommt eine Pipeline zum Einsatz
gzip -cd archiv.txt.gz | grep ZEICHENKETTE
Mit Hilfe von gzexe
lassen sich selbstextrahierende Archive erzeugen. Dies ist besonders für (größere) Programme oder Skripte geeignet, da diese nach dem Entpacken direkt ausgeführt werden. Da Informationen für das Entpacken in die Datei (Archiv) mit integriert werden, lohnt sich gzexe nur für größere Programme, da bei kleineren Dateien das gepackte, selbstextrahierende Archive sonst größer wäre als die Originaldatei selbst.
Die allgemeine Syntax von gzexe lautet:
gzexe datei
gzexe kennt nur eine Option:
gzexe - Optionen | |
Option | Beschreibung |
-d | Entpackt das selbstextrahierende Archiv. |
In das selbstextrahierende Archiv wird nicht der Dekomprimierungsalgorithmus an sich integriert, sondern es wird ein (kurzes) Shellskript in die Datei integriert, welche gzip aufruft. Daher funktioniert das Selbstextrahieren nur auf Systemen, auf denen gzip über die Standardsuchpfade gefunden wird. Dies sollte jedoch bei den meisten Linuxsystemen der Fall sein.
Es gibt eine Reihe von Programme, die das Anschauen bzw. Durchsuchen von .gz-Archiven im Terminal vereinfachen. Die vorhandenen Tools sind in der Standardinstallation von Ubuntu:
zcat
, zcmp
, zdiff
, zdump
, zegrep
, zgrep
, zfgrep
, zforce
, zless
und zmore
Wie man sieht, leiten sich die Namen von den entsprechenden Shell-Befehlen ab und haben grundsätzlich auch die gleiche Funktionalität. Unter Umständen stehen aber nicht alle Optionen des "Original"-Befehls zur Verfügung.
bzip2 - Alternative zu gzip
pigz - gzip für Mehrkern-Prozessoren
Packprogramme Übersichtsartikel
Diese Revision wurde am 23. August 2014 12:51 von noisefloor erstellt.