venerdì 5 novembre 2010

Archivi di file: il comando tar

Avete mai sentito parlare di tarball? Sono i file creati da tar, un comando Linux per archiviare file e cartelle. Se usate un sistema operativo GNU/Linux prima o poi incontrerete questi file. Sono infatti usati per distribuire il codice sorgente di un'applicazione, oppure l'applicazione stessa.
Per creare un archivio tar occorre passare al comando le opzioni c (create, per creare) ed f (file, permette di specificare il nome dell'archivio - scrivete questa opzione sempre per ultima e fatela seguire dal nome dell'archivio) e indicare una lista di file o cartelle da aggiungere all'archivio. Ad esempio, il comando tar -cf archivio.tar file1 file2 file3 crea un archivio di nome archivio.tar e vi aggiunge i file file1, file2 e file3 (possiamo aggiungere, per l'archiviazione, anche path a cartelle). L'estrazione avviene invece passando a tar le opzioni x (extract, per l'estrazione) ed f (come prima, per specificare il nome dell'archivio da estrarre). Ad esempio, il comando tar -xf archivio.tar estrae nella directory di lavoro i file dell'archivio (ad esempio quello precedente) e quindi: file1, file2 e file3.
Molto spesso oltre all'archiviazione di file e cartelle siamo poi interessati alla successiva compattazione dell'archivio (lo spazio a disposizione non è mai troppo, fa sempre comodo avere file piccoli). Possiamo allora affidarci ai comandi gzip e bzip2 per compattare l'archivio appena creato, per farlo siamo però costretti a digitare un nuovo comando. tar permette la creazione di archivi già compressi, per usare questa funzionalità occorre passare in fase di creazione l'opzione z per compattare l'archivio con gzip, oppure j per compattarlo con bzip2.
Ad esempio, il comando tar -zcf archivio.tar.gz file1 file2 file3 crea un archivio compresso con gzip che contiene i file file1, file2 e file3. Il comando tar -jcf archivio.tar.bz2, invece, realizza lo stesso archivio compattandolo, però, con bzip2. Queste opzioni vanno usate anche in fase di estrazione!
I file .tar.gz o .tgz non sono altro che archivi compressi con gzip (la cui estrazione avviene con tar -zxvf nome_archivio), i file .tar.bz2, .tar.bz o .tbz, invece, sono archivi compressi con bzip2 (la cui estrazione avviene con tar -jxvf nome_archivio). Assegnate sempre l'estensione agli archivi di file da voi creati, in questo modo potete stabilire fin da subito la tipologia dell'archivio e il comando da usare per l'estrazione dei file. L'esecuzione del comando tar, soprattutto in fase di estrazione, può sembrare lenta, il prompt dei comandi vi viene restituito solo al termine dell'operazione. Per questo motivo consiglio sempre di passare al comando l'opzione v (verbose), che stampa nel terminale le informazioni sullo stato di avanzamento di tar.

Nessun commento:

Posta un commento