staging.inyokaproject.org

bzip2

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 bzip2 🇬🇧 ist eines der am häufigsten genutzten freien Komprimierungsprogramme für das Terminal. Im Vergleich zu gzip verwendet bzip2 zum Packen einen anderen Algorithmus. Ansonsten sind Verwendung und Syntax sehr ähnlich. Mit bzip2 komprimierte Dateien haben in der Regel die Dateiendung .bz2.

Es gibt es auch den Befehl bunzip2, welcher dem Aufruf von bzip2 mit der Option zur Dekomprimierung entspricht. Daher wird im Folgenden nur bzip2 weiter besprochen.

Syntax

Der allgemeine Aufruf von bzip2 erfolgt im Terminal [1] über:

bzip2 [OPTIONEN] DATEI(EN) 

Um eine Datei zu packen, nutzt man den Aufruf:

bzip2 eine_datei.txt 

Es entsteht die komprimierte Datei eine_datei.txt.bz2. Ruft man bzip2 mit mehreren Dateien auf

bzip2 datei_1.txt datei_2.txt datei_3.txt 

so entstehen drei bz2-Dateien datei_1.txt.bz2, datei_2.txt.bz2 und datei_3.txt.bz2.

Hinweis:

Beim Packen einer Datei mit bzip2 wird standardmäßig die Originaldatei gelöscht, d.h. es existiert nur noch die gepackte Datei. Umgekehrt wird beim Entpacken die gepackte Datei gelöscht und es existiert nur noch die Originaldatei.

Optionen

Option Beschreibung
-1 ... -9Gibt den Komprimierungsgrade an. 1 ist die schlechteste aber schnellste Komprimierung, 9 die beste aber langsamste Komprimierung. Voreinstellung ist 5.
-fEventuell vorhandene Dateien werden ohne Rückfrage überschrieben.
-dDecompress, d.h. die angegebene Datei wird in das aktuelle Verzeichnis entpackt.
-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.
-vGibt mehr Meldung als üblich aus.
-tTestet die Integrität der Datei.
-kDie Originaldatei wird nicht gelöscht.
-hZeigt eine vollständige Übersicht über alle Optionen.

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

Beispiele

  1. Es wird eine Datei entpackt. Da keine weiteren Angaben gemacht werden, befindet sich die entpacktet Datei archiv.txt im aktuellen Verzeichnis (von dem aus bzip2 aufgerufen wurde):

    bzip2 -d archiv.txt.bz2 
  2. Es wird eine Datei auf die Standardausgabe entpackt und mit grep nach einer Zeichenkette durchsucht. Dabei kommt eine Pipeline zum Einsatz:

    bzip2 -cd archiv.txt.bz2 | grep ZEICHENKETTE 

bzexe

Mit Hilfe von bzexe lassen sich selbstextrahierende Dateien 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 gepackte Datei mit integriert werden, lohnt sich bzexe nur für größere Programme, da bei kleineren Dateien die gepackte, selbstextrahierende Datei sonst größer wäre als die Originaldatei selbst.

Die allgemeine Syntax von bzexe lautet:

bzexe DATEI 

bzexe kennt nur eine Option:

Option Beschreibung
-dEntpackt die selbstextrahierende Datei.

Hinweis:

In die selbstextrahierende Datei wird nicht der Dekomprimierungsalgorithmus an sich integriert, sondern es wird ein (kurzes) Shellskript in die Datei integriert, welche bzip2 aufruft. Daher funktioniert das Selbst-extrahieren nur auf Systemen, wo bzip2 über die Standardsuchpfade gefunden wird. Dies sollte jedoch bei den meisten Linuxsystemen der Fall sein.

Alternative

bzip2 hat den Nachteil, dass es nur mit einem Kern arbeitet, auch wenn der Prozessor mehrere Kerne hat. Diesen Nachteil vermeidet pbzip2, das alle Prozessorkerne nutzt und somit wesentlich schneller packt. Die Syntax ist im wesentlichen die geiche wie bei bzip2. Mit dem Parameter -p# kann ggf. die Anzahl der aktiven Prozessorkerne festgelegt werden. Das Programm kann aus den Repositorien installiert werden. Noch schneller packt lbzip2, das ebenfalls aus den Repositorien installiert werden kann.

Programme für gepackte Dateien

Es gibt eine Reihe von Programmen, die das Anschauen bzw. Durchsuchen von .bz2-Dateien im Terminal vereinfachen. Die vorhandenen Werkzeuge sind in der Standardinstallation von Ubuntu:

  • bzcat, bzcmp, bzdiff, bzegrep, bzgrep, bzfgrep, bzless und bzip2recover

Die Namen leiten sich 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.

Eine Ausnahme bildet der Befehl bzip2recover, mit dem beschädigte .bz2-Dateien repariert werden können. Die allgemeine Syntax lautet:

bzip2recover DEFEKTE.bz2 

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