Avrete notato che abbiamo già parlato di questi due programmi quando ci siamo occupati di tar. A differenza di winzip su Windows, qui l'archiviazione e la compressione vengono eseguite usando due strumenti separati - tar per l'archiviazione, e i due programmi di cui stiamo per parlare per comprimere i dati: bzip2 e gzip. Anche su GNU/Linux esistono altri programmi di compressione, come zip, arj o rar, ma vengono usati di rado.
Inizialmente bzip2 era stato scritto per sostituire gzip: i suoi rapporti di compressione sono generalmente migliori, sebbene richieda più memoria. Tuttavia gzip viene ancora utilizzato, a causa della maggiore diffusione che ha avuto in passato rispetto a bzip2.
I due comandi hanno una sintassi simile:
gzip [opzioni] [uno o più file] |
-1, ..., -9: imposta il rapporto di compressione. Più alto il numero, migliore la compressione; ma migliore significa anche più lenta: non si può avere la botte piena e la moglie ubriaca.
-d: decomprime i file. Equivale ad usare gunzip o bunzip2.
-c: invia sullo standard output il risultato della compressione/ decompressione dei file indicati nella linea di comando.
![]() | Come comportamento predefinito, sia gzip che bzip2 cancellano i file che hanno compresso (o decompresso) se non usate l'opzione -c. Con bzip2 potete evitarlo usando l'opzione -k, ma gzip non la possiede! |
Ora vediamo alcuni esempi. Supponiamo che vogliate comprimere con bzip2 tutti i file della directory attuale il cui nome finisce con .txt; userete quindi:
$ bzip2 -9 *.txt |
bzip2 -dc images.tar.bz2 | gzip -9 >images.tar.gz |