ubuntuusers.de

gzip

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png 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.

Hinweis:

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.

Syntax

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.

Hinweis:

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.

⚓︎

Optionen

gzip kennt verschiedene Optionen, von denen im Folgenden einige erklärt werden:

Option Beschreibung
-1 ... -9Gibt den Komprimierungsgrad an. 1 ist die schlechteste aber schnellste Komprimierung, 9 die beste aber langsamste Komprimierung. Voreinstellung ist 5.
-rDateien werden einzeln rekursiv in allen Unterverzeichnissen komprimiert bzw. dekomprimiert.
-fEventuell vorhandene Dateien werden ohne Rückfrage überschrieben.
-dDecompress, d.h. die angegebene Datei (Archiv) wird in das aktuelle Verzeichnis entpackt.
-kDie Originaldatei wird beibehalten und nicht gelöscht.
-lGibt Details zum Archiv aus, wie z.B. Kompressionsrate, Größe der unkomprimierten Datei etc.
-cSchreibt auf die Standardausgabe (also in der Regel den Bildschirm).
-qUnterdrückt alle (Warn-) Meldungen. Dies ist hilfreich, wenn eine größere Datei im Hintergrund ge- bzw. entpackt werden soll.
-tTestet die Integrität des Archivs.
-hZeigt eine vollständige Übersicht über alle Optionen.

Eine detaillierte Beschreibung erhält man auch in den man-Pages oder info-Seiten zu gzip.

⚓︎

Einige Beispiele

  1. 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 
  2. 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 

gzexe

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:

Option Beschreibung
-dEntpackt das selbstextrahierende Archiv.

Hinweis:

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.

⚓︎

Programme für gepackte Archive

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.

Diese Revision wurde am 3. Juli 2021 23:51 von chris34 erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Datensicherung, Shell, gz, Packer, Komprimierung, Archivmanager