Le compressioni dei file vengono eseguite secondo algoritmi specifici. Esistono molte tecniche di compressione e una di queste si ottiene tramite bzip2 . In questo tutorial impareremo le basi di bzip2 usando alcuni esempi di facile comprensione. Tieni presente che tutti gli esempi utilizzati in questo articolo sono stati testati su una macchina Ubuntu 18.04LTS.
Comando Linux bzip2
bzip2 è un compressore di file basato su riga di comando in Linux che utilizza l'algoritmo di compressione del testo di ordinamento dei blocchi Burrows-Wheeler e la codifica Huffman per eseguire il processo di compressione. Di seguito è riportata la sua sintassi:
bzip2 [OPTIONS] filenames ...
Ed ecco cosa dice la pagina man su questo strumento:
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.
Di seguito sono riportati alcuni esempi in stile domande e risposte che dovrebbero darti una buona idea su come funziona il comando bzip2.
Q1. Come comprimere un file usando bzip2?
L'utilizzo di base è molto semplice:basta passare il file da comprimere come input al comando bzip2. Ecco un esempio:
bzip2 list.txt
Lo screenshot seguente mostra il comando in azione:
Q2. Come comprimere più file usando bzip2?
Semplice:basta passare i nomi dei file come input. Vedi il seguente esempio:
bzip2 list.txt list1.txt list2.txt
T3. Come decomprimere usando bzip2?
Per la decompressione, utilizzare l'opzione della riga di comando -d. Ecco un esempio:
bzip2 -d list.txt.bz2
Q4. Come fare in modo che bzip2 non elimini il file di input?
Per impostazione predefinita, quando bzip2 comprime un file, elimina il file originale (o di input). Tuttavia, se non vuoi che ciò accada, usa l'opzione della riga di comando -k.
Segue un esempio:
Q5. Come fare in modo che bzip2 visualizzi i dettagli per ogni operazione di compressione?
Questo può essere fatto usando l'opzione della riga di comando -v. Ecco come lo spiega la pagina man:
-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.
Di seguito è riportato un esempio che mostra l'output del comando bzip2 quando viene utilizzato -v:
Q6. Come verificare l'integrità di un file compresso?
Il comando bzip2 può essere utilizzato anche per verificare l'integrità di un file .bz2 (un test che assicura che il file non sia danneggiato o sia cambiato da quando è stato creato). Questo può essere fatto usando l'opzione della riga di comando -t.
-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.
Conclusione
L'utilità della riga di comando bzip2 offre molte più opzioni, ma qualunque cosa abbiamo discusso qui dovrebbe essere sufficiente per iniziare. Una volta che hai finito di esercitarti con le opzioni che abbiamo discusso in questo tutorial, puoi andare alla pagina man dello strumento per saperne di più.