La gestione degli archivi compressi attraverso la shell di Linux continua con lo studio di un altro comando, gzip; la sintassi del comando è la seguente:
gzip [-num] [-c] [-d] [-r] [-t] [-v] files
- -num è il livello di compressione, da 1 a 9
- -c invia l’output a stdout cancellando il vecchio file e creandolo uno nuovo .gz
- -d decomprime invece di comprimere
- -r comprime o decomprime ricorsivamente una directory
- -t verifica l’integrità del file compresso
- -v mostra la compressione di ciascun file
- files il nome del file o files da comprimere o decomprimere
Se ad esempio volessimo comprimere con gzip il file test.conf per backup dovremmo scrivere:
gzip -v test.conf
Questo comando comprime il file test.conf e lo trasforma in test.conf.gz; per la decompressione possiamo utilizzare gzip con l’opzione -d oppure gunzip. Altre utility per i file compressi sono:
- zcmp decomprime e confronta i files utilizzando il comando cmp
- zdiff decomprime e confronta i files utilizzando diff
- zgrep decomprime e cerca espressioni regolari con grep
- zless decomprime e visualizza un file compresso con gzip
Se ad esempio volessimo visualizzare a video il file compresso test.conf.gz senza decomprimerlo possiamo utilizzare
zless test.conf.gz
Il comando in Linux forse più utilizzato per la gestione dei file compressi è tar, il bello di questo programma è che è possibile utilizzarlo con compressione gzip od anche bzip2, diciamo che è un contenitore di compressione, vediamo la sintassi:
tar c[v][z][f archivio] files ( consente di creare un archivio )
tar t[v][z][f archivio] ( consente di elencare i files in un archivio )
tar x[k][m][v][f archivio] files ( consente di estrarre un archivio )
- f archivio il nome dell’archivio da creare
- k non sovrascrive i files più recenti
- m conserva la data di modifica file
- v elenca i nomi e le informazioni dei files
- z comprime o decomprime i files
- files la lista dei files
Se ad esempio vogliamo fare il backup di tutti i files di configurazione in /etc dobbiamo dare il comando:
tar cjvf backup.tar.bz2 /etc
Con questo comando l’intera directory e sotto-directory di /etc saranno archiviate nel file backup.tar.bz2 utilizzando la compressione bzip2 tramite l’opzione j.
Per l’intera sintassi ed uso di tar si rimanda a info tar o man tar.