Bunzip2 Linux-Befehl: So verwenden Sie ihn
Was Sie wissen sollten
- Verwenden Sie die Befehlsoption -c --stdout zur Standardausgabe komprimieren/dekomprimieren und -d --dekomprimieren Dekompression zu erzwingen.
- Verwenden -t --test um die Integrität der angegebenen Dateien zu überprüfen. Verwenden -f --force um das Überschreiben von Ausgabedateien zu erzwingen. Verwenden -k --behalten Eingabedateien beizubehalten.
- Verwenden -s --klein um den Speicherverbrauch zu senken und -q --leise um Warnmeldungen zu unterdrücken. Verwenden -v --verbose um die Dateikomprimierungsverhältnisse anzuzeigen.
In diesem Artikel erfahren Sie, wie Sie die Linux bunzip2 Befehl, ein blocksortierender Dateikomprimierer, der sowohl zum Komprimieren als auch zum Dekomprimieren von Daten verwendet werden kann. Wenn Sie das ausführen bzip2 Befehl ohne Optionen komprimiert das System die Daten standardmäßig. bunzip2 wird standardmäßig dekomprimiert und bzcat dekomprimiert auf stdout.
Bunzip2 Linux-Befehlsoptionen
Liste der bunzip2-Befehlsoptionen | |
---|---|
Möglichkeit | Erläuterung |
-c --stdout | Komprimieren oder dekomprimieren Sie auf die Standardausgabe. |
-d --dekomprimieren | Dekompression erzwingen. bzip2, bunzip2 und bzcat sind eigentlich dasselbe Programm, und die Entscheidung über die zu ergreifenden Aktionen wird auf der Grundlage des verwendeten Namens getroffen. Dieses Flag überschreibt diesen Mechanismus und zwingt bzip2 zum Dekomprimieren. |
-z --komprimieren | Die Ergänzung zu -d: erzwingt die Komprimierung, unabhängig vom Aufrufnamen. |
-t --test | Überprüfen Sie die Integrität der angegebenen Datei(en), aber dekomprimieren Sie sie nicht. Dies führt wirklich eine Probedekompression durch und wirft das Ergebnis weg. |
-f --force |
Überschreiben von Ausgabedateien erzwingen. Normalerweise überschreibt bzip2 vorhandene Ausgabedateien nicht. Zwingt bzip2 auch, harte Links zu Dateien zu unterbrechen, was es sonst nicht tun würde. bzip2 lehnt es normalerweise ab, Dateien zu dekomprimieren, die nicht die richtigen magischen Header-Bytes haben. Wenn er erzwungen (-f) ist, werden solche Dateien jedoch unverändert durchgereicht. So verhält sich GNU gzip. |
-k --behalten | Behalten Sie die Eingabedateien während der Komprimierung oder Dekomprimierung bei (löschen Sie sie nicht). |
-s --klein |
Reduzieren Sie die Speicherauslastung zum Komprimieren, Dekomprimieren und Testen. Dateien werden mit einem modifizierten Algorithmus dekomprimiert und getestet, der nur 2,5 Byte pro Blockbyte benötigt. Dies bedeutet, dass jede Datei in 2300 KB Speicher dekomprimiert werden kann, wenn auch mit etwa der Hälfte der normalen Geschwindigkeit. Während der Komprimierung wählt -s eine Blockgröße von 200 KB, wodurch die Speichernutzung auf Kosten Ihres Komprimierungsverhältnisses auf ungefähr dieselbe Zahl begrenzt wird. Kurz gesagt, wenn Ihr Computer wenig Speicher hat (8 Megabyte oder weniger), verwenden Sie -s für alles. Siehe SPEICHERVERWALTUNG unten. |
-q --leise | Unterdrücken Sie nicht unbedingt erforderliche Warnmeldungen. Meldungen zu E/A-Fehlern und anderen kritischen Ereignissen werden nicht unterdrückt. |
-v --verbose | Ausführlich mode -- zeigt das Komprimierungsverhältnis für jede verarbeitete Datei an. Darüber hinaus erhöhen -v's die Ausführlichkeitsstufe und geben viele Informationen aus, die hauptsächlich für Diagnosezwecke von Interesse sind. |
-L --Lizenz | Zeigen Sie die Softwareversion und die Lizenzbedingungen an. |
-V --version |
Zeigen Sie die Softwareversion und die Lizenzbedingungen an. |
-1 oder -9 |
Setzen Sie die Blockgröße auf 100 k, 200 k.. 900 k beim Komprimieren. Hat keine Auswirkung beim Dekomprimieren. Behandelt alle nachfolgenden Argumente als Dateinamen, auch wenn sie mit einem Bindestrich beginnen. So können Sie mit Dateien umgehen, deren Namen mit einem Bindestrich beginnen, zum Beispiel: bzip2 -- -myfilename. |
--wiederholt-schnell und --repetitive-best sind in den Versionen 0.9.5 und höher redundant. Sie boten eine grobe Kontrolle über das Verhalten des Sortieralgorithmus in früheren Versionen, was manchmal nützlich war. 0.9.5 und höher haben einen verbesserten Algorithmus, der diese Flags irrelevant macht.
Verwenden Sie die Mann Befehl (% Mann), um zu sehen, wie ein Befehl auf Ihrem Computer verwendet wird.
Erkundung der Komprimierung von bunzip2
bzip2 komprimiert Dateien unter Verwendung des Burrows-Wheeler-Blocksortierungs-Textkomprimierungsalgorithmus und der Huffman-Codierung. Kompression ist im Allgemeinen deutlich besser als die von konventionelleren LZ77/LZ78-basierten Kompressoren und nähert sich der Leistung der PPM-Familie statistischer Kompressoren.
Die Befehlszeilenoptionen sind denen von. bewusst sehr ähnlich GNU-gzip, aber sie sind nicht identisch.
bzip2 erwartet eine Liste von Dateinamen, die die Befehlszeilen-Flags begleiten. Jede Datei wird durch eine komprimierte Version ihrer selbst mit dem Namen "original_name.bz2" ersetzt. Jede komprimierte Datei hat dasselbe Änderungsdatum, dieselben Berechtigungen und, wenn möglich, denselben Besitz wie das entsprechende Original, sodass diese Eigenschaften zum Zeitpunkt der Dekomprimierung korrekt wiederhergestellt werden können.

Wann sollte das Flag -f verwendet werden?
Die Handhabung von Dateinamen ist naiv in dem Sinne, dass es keinen Mechanismus zum Beibehalten der ursprünglichen Dateinamen, Berechtigungen, Eigentumsrechte oder Datumsangaben in Dateisystemen, denen diese Konzepte fehlen oder die schwerwiegende Längenbeschränkungen für Dateinamen aufweisen, wie z MS-DOS.
bzip2 und bunzip2 überschreibt standardmäßig keine vorhandenen Dateien. Wenn dies geschehen soll, geben Sie die -F Flagge.
Wenn keine Dateinamen angegeben sind, bzip2 komprimiert von der Standardeingabe auf die Standardausgabe. In diesem Fall, bzip2 wird es ablehnen, komprimierte Ausgaben auf ein Terminal zu schreiben, da dies völlig unverständlich und daher sinnlos wäre.

bunzip2 (oder bzip2 -d) dekomprimiert alle angegebenen Dateien. Dateien, die nicht erstellt wurden von bzip2 wird erkannt und ignoriert und eine Warnung ausgegeben. bzip2 versucht, den Dateinamen der dekomprimierten Datei aus dem der komprimierten Datei wie folgt zu erraten:
- Dateiname.bz2 wird Dateiname
- Dateiname.bz wird Dateiname
- Dateiname.tbz2 wird Dateiname.tar
- Dateiname.tbz wird Dateiname.tar
- anyothername wird anyothername.out
Wenn die Datei nicht in einem der erkannten. endet Dateierweiterungen — BZ2, BZ, TBZ2 oder TBZ — bzip2 beschwert sich, dass es den Namen der Originaldatei nicht erraten kann und verwendet den Originalnamen mit .aus angehängt.

Wie bei der Komprimierung führt das Nichtangeben eines Dateinamens zur Dekomprimierung von der Standardeingabe zur Standardausgabe.
bunzip2 wird eine Datei korrekt dekomprimieren, die aus einer Verkettung von zwei oder mehr komprimierten Dateien besteht. Das Ergebnis ist die Verkettung der entsprechenden unkomprimierten Dateien. Integritätstest (-T) von verketteten komprimierten Dateien wird ebenfalls unterstützt.
Verwenden des Flags -c für die Standardausgabe
Sie können Dateien auch auf die Standardausgabe komprimieren oder dekomprimieren, indem Sie die -C Flagge. Mehrere Dateien können auf diese Weise komprimiert und dekomprimiert werden. Die resultierenden Ausgaben werden sequentiell an stdout übergeben. Die Komprimierung mehrerer Dateien auf diese Weise erzeugt einen Strom, der mehrere komprimierte Dateidarstellungen enthält.
Ein solcher Stream kann nur richtig dekomprimiert werden durch bzip2Version 0.9.0 oder höher. Frühere Versionen von bzip2 stoppt, nachdem die erste Datei im Stream dekomprimiert wurde.
bzip2-Dekomprimierung
bzcat (oder bzip2 -dc) dekomprimiert alle angegebenen Dateien in die Standardausgabe.
bzip2 liest Argumente aus den Umgebungsvariablen BZIP2 und BZIP, in dieser Reihenfolge und verarbeitet sie vor allen Argumenten, die von der Befehlszeile gelesen werden. Dies bietet eine bequeme Möglichkeit, Standardargumente bereitzustellen.
Die Komprimierung wird immer durchgeführt, auch wenn die komprimierte Datei etwas größer als das Original ist. Dateien mit weniger als etwa 100 Byte werden tendenziell größer, da der Komprimierungsmechanismus einen konstanten Overhead im Bereich von 50 Byte hat. Zufällige Daten (einschließlich der Ausgabe der meisten Dateikomprimierer) werden mit etwa 8,05 Bit pro Byte codiert, was einer Erweiterung von etwa 0,5 Prozent entspricht.
bzip2 und CRCs
Zur Selbstkontrolle zu Ihrem Schutz, bzip2 verwendet 32-Bit-CRCs, um sicherzustellen, dass die dekomprimierte Version einer Datei mit dem Original identisch ist. Dies schützt vor Beschädigung der komprimierten Daten und vor unentdeckten Fehlern in bzip2 (hoffentlich sehr unwahrscheinlich).
Die Wahrscheinlichkeit, dass Datenbeschädigungen unentdeckt bleiben, ist mikroskopisch gering, etwa eine zu vier Milliarden für jede verarbeitete Datei. Beachten Sie jedoch, dass die Prüfung bei der Dekompression erfolgt und Ihnen nur sagen kann, dass etwas nicht stimmt. Es kann Ihnen nicht helfen, die ursprünglichen unkomprimierten Daten wiederherzustellen.
Sie können verwenden bzip2recover um zu versuchen, Daten aus beschädigten Dateien wiederherzustellen.