Komprese souborů se provádějí podle specifických algoritmů. Existuje mnoho komprimačních technik a jedné z nich lze dosáhnout pomocí bzip2 . V tomto tutoriálu se naučíme základy bzip2 pomocí několika snadno pochopitelných příkladů. Vezměte prosím na vědomí, že všechny příklady použité v tomto článku byly testovány na počítači Ubuntu 18.04LTS.
Příkaz bzip2 pro Linux
bzip2 je souborový kompresor založený na příkazovém řádku v Linuxu, který k provedení procesu komprese používá Burrows-Wheeler blokový třídicí algoritmus komprese textu a Huffmanovo kódování. Následuje jeho syntaxe:
bzip2 [OPTIONS] filenames ...
A zde je to, co o tomto nástroji říká manuálová stránka:
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.
Následuje několik příkladů ve stylu otázek a odpovědí, které by vám měly poskytnout dobrou představu o tom, jak příkaz bzip2 funguje.
Q1. Jak komprimovat soubor pomocí bzip2?
Základní použití je velmi jednoduché – stačí předat komprimovaný soubor jako vstup do příkazu bzip2. Zde je příklad:
bzip2 list.txt
Následující snímek obrazovky ukazuje příkaz v akci:
Q2. Jak komprimovat více souborů pomocí bzip2?
Jednoduché - stačí zadat názvy souborů jako vstup. Viz následující příklad:
bzip2 list.txt list1.txt list2.txt
Q3. Jak dekomprimovat pomocí bzip2?
Pro dekompresi použijte volbu -d příkazového řádku. Zde je příklad:
bzip2 -d list.txt.bz2
4. Jak zajistit, aby bzip2 nesmazal vstupní soubor?
Ve výchozím nastavení, když bzip2 komprimuje soubor, odstraní původní (nebo vstupní) soubor. Pokud však nechcete, aby se to stalo, použijte volbu -k příkazového řádku.
Následuje příklad:
O5. Jak zajistit, aby bzip2 zobrazoval podrobnosti pro každou operaci komprese?
To lze provést pomocí volby příkazového řádku -v. Zde je návod, jak to vysvětluje manuálová stránka:
-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.
Následuje příklad, který ukazuje výstup příkazu bzip2 při použití -v:
O6. Jak zkontrolovat integritu komprimovaného souboru?
Příkaz bzip2 lze také použít ke kontrole integrity souboru .bz2 (test, který zajišťuje, že soubor není poškozen nebo se od svého vytvoření změnil). To lze provést pomocí volby -t příkazového řádku.
-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.
Závěr
Nástroj příkazového řádku bzip2 nabízí mnohem více možností, ale vše, co jsme zde probrali, by vám mělo stačit, abyste mohli začít. Jakmile si procvičíte možnosti, které jsme probrali v tomto tutoriálu, můžete přejít na manuálovou stránku nástroje, kde se o něm dozvíte více.