Dateikomprimierungen werden nach bestimmten Algorithmen durchgeführt. Es gibt viele Komprimierungstechniken und eine davon wird durch bzip2 erreicht . In diesem Tutorial lernen wir die Grundlagen von bzip2 anhand einiger leicht verständlicher Beispiele. Bitte beachten Sie, dass alle in diesem Artikel verwendeten Beispiele auf einem Ubuntu 18.04LTS-Computer getestet wurden.
Linux bzip2-Befehl
bzip2 ist ein befehlszeilenbasierter Dateikomprimierer in Linux, der den Burrows-Wheeler-Blocksortierungs-Textkomprimierungsalgorithmus und die Huffman-Codierung verwendet, um den Komprimierungsprozess durchzuführen. Es folgt die Syntax:
bzip2 [OPTIONS] filenames ...
Und hier ist, was die Manpage über dieses Tool sagt:
bzip2 compresses files using the Burrows-Wheeler block sorting text
compression algorithm, and Huffman coding. Compression is generally
considerably better than that achieved by more conventional
LZ77/LZ78-based compressors, and approaches the performance of the PPM
family of statistical compressors.
The command-line options are deliberately very similar to those of GNU
gzip, but they are not identical.
bzip2 expects a list of file names to accompany the command-line flags.
Each file is replaced by a compressed version of itself, with the name
"original_name.bz2". Each compressed file has the same modification
date, permissions, and, when possible, ownership as the corresponding
original, so that these properties can be correctly restored at decom?
pression time. File name handling is naive in the sense that there is
no mechanism for preserving original file names, permissions, owner?
ships or dates in filesystems which lack these concepts, or have seri?
ous file name length restrictions, such as MS-DOS.
Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine gute Vorstellung davon vermitteln sollen, wie der bzip2-Befehl funktioniert.
Q1. Wie komprimiert man eine Datei mit bzip2?
Die grundlegende Verwendung ist sehr einfach - übergeben Sie einfach die zu komprimierende Datei als Eingabe an den bzip2-Befehl. Hier ist ein Beispiel:
bzip2 list.txt
Der folgende Screenshot zeigt den Befehl in Aktion:
Q2. Wie komprimiert man mehrere Dateien mit bzip2?
Einfach - übergeben Sie einfach die Dateinamen als Eingabe. Siehe folgendes Beispiel:
bzip2 list.txt list1.txt list2.txt
Q3. Wie dekomprimiere ich mit bzip2?
Verwenden Sie für die Dekomprimierung die Befehlszeilenoption -d. Hier ist ein Beispiel:
bzip2 -d list.txt.bz2
Q4. Wie kann man bzip2 dazu bringen, die Eingabedatei nicht zu löschen?
Wenn bzip2 eine Datei komprimiert, löscht es standardmäßig die ursprüngliche (oder Eingabe-) Datei. Wenn Sie dies jedoch nicht möchten, verwenden Sie die Befehlszeilenoption -k.
Nachfolgend ein Beispiel:
F5. Wie bringt man bzip2 dazu, Details für jeden Komprimierungsvorgang anzuzeigen?
Dies kann mit der Befehlszeilenoption -v erfolgen. So erklärt es die Manpage:
-v --verbose
Verbose mode -- show the compression ratio for each file processed. Further -v's
increase the verbosity level, spewing out lots of information which is primarily of
interest for diagnostic purposes.
Das folgende Beispiel zeigt die Ausgabe des bzip2-Befehls, wenn -v verwendet wird:
F6. Wie überprüfe ich die Integrität einer komprimierten Datei?
Der bzip2-Befehl kann auch verwendet werden, um die Integrität einer .bz2-Datei zu überprüfen (ein Test, der sicherstellt, dass die Datei nicht beschädigt ist oder sich seit ihrer Erstellung geändert hat). Dies kann mit der Befehlszeilenoption -t erfolgen.
-t --test
Check integrity of the specified file(s), but don't decompress them.
This really performs a trial decompression and throws away the result.
Schlussfolgerung
Das bzip2-Befehlszeilenprogramm bietet viele weitere Optionen, aber was auch immer wir hier besprochen haben, sollte ausreichen, um Ihnen den Einstieg zu erleichtern. Sobald Sie die in dieser Anleitung besprochenen Optionen geübt haben, können Sie zur Manpage des Tools gehen, um mehr darüber zu erfahren.