Il comando tar - acronimo di Tape ARchive - è utilizzato per convertire un gruppo di file in un archivio. Un archivio è un file che contiene altri file e informazioni necessarie per recuperare la loro forma originaria. Originariamente tar è nato per sopperire alla necessità di un sistema di memorizzazione su nastri magnetici (da quì il nome tar) ma può essere usato per archiviare file su qualunque tipo di filesystem.
Gli archivi sono molto convenienti per memorizzare file e per trasmettere dati e distribuire programmi: non è raro incontrare i sorgenti degli applicativi Linux nel formato tar.gz. A tal proposito occorre fare una precisazione: al contrario di altri software di archiviazione tar non effettua sui file archiviati alcun tipo di compressione. Tuttavia è molto semplice comprimere archivi creati con tar usando utility di compressione specializzate quali ad esempio gzip.
Di seguito vengono riportati comandi di uso più frequente con il comando tar.
Sintassi base del comando tar
La sintassi base del comando tar è la seguente:
tar option(s) archive_name file_name(s)
Creazione di un archivio tar file
I file tar sono creati usando le opzioni -c e -f. Il former chiede a tar di creare un archivio e l’ultimo indica che il prossimo argomento sarà il nome del nuovo archivio di file. Così, ad esempio, il seguente comando creerebbe un archivio chiamato file.tar composto da tre file chiuamati file1, file2 e file3 che sono presenti nella directory corrente.
tar -cf file.tar file1 file2 file3
Non è necessario che i file di archivio abbiano l’estensione .tar; tuttavia l’uso di questa estensione risulta conveniente in quanto rende identificabile visualmente il tipo di file. E’ assolutamente necessario che l’opzione f sia l’ultima opzione in una sequenza opzioni contigue altrimenti il sistema interpreterà l’opzione seguente ad f come il nome dell’archivio.
L’opzione -v (i.e. verbose è usata comunemente insieme a -c e -f per visualizzare una lista di file inclusi nell’archivio).
tar -cvf file.tar file1 file2 file3
tar può essere utilizzato anche per la creazione di archivi che prendono contenuti da più directory: in tal caso il risultato dell’operazione è ricorsivo, cioè saranno inclusi tutti gli oggetti (directory o file) all’interno di cisascun livello di directory.
Spesso risulta utile utilizzare delle wildcard che possono essere molto utili per effetuare operazioni più complesse con un solo comando. Ad esempio il comando seguente, che fa uso della wildcard asterisco, consente di creare un archivio contenente tutti gli oggetti della directory corrente:
tar -cf archivio.tar *
Di solito quando si crea un archivio le copie dei file originali vengono lasciate al loro posto; tuttavia è possibile eliminarle specificando l’opzione -remove-files.
Creazione di un archivio tar compresso
La versione GNU del comando tar (quella standard su Linux) specifica delle opzioni di compressione: si tratta delle opzioni -j (per bzip2) , -z (per gzip) e -Z (per compress). Così, ad esempio, per creare un archivio compresso contenente file1 e file2 di nome compressedfile.tar.gz è possibile eseguire il comando:
tar -cvzf compressedfile.tar.gz file1 file2
Estrarre file da un archivio tar
Per l’estrazione da un archivio tar è necessario far uso dell’opzione x oltre alle opzioni v ed f già viste precedentemente; il comando per decomprimere il file tar creato in precedenza è:
tar xvf file.tar
In tal modo il file sarà decompresso nella directory correntemente in uso. In maniera analoga se si vuole scompattare un archivio compresso con gzip sarà necessario eseguire il seguente comando:
tar -xzvf compressedfile.tar.gz
Aggiungere o rimuovere file ad un archivio esistente
L’opzione -r consente di aggiungere un altro file all’archivio corrente specificando il nome dell’archivio cui si vuole aggiungere il file:
tar -rf file.tar include_file
L’opzione -delete seguita dai nomi dei file inclusi nell’archivio consente invece di cancellare i file specificati dall’archivio.
Visualizzare il contenuto di un archivio non compresso
L’opzione -t consente la visualizzazione dell’elenco dei file memorizzati nell’archivio non compresso e può, ad esempio, essere utile per assicurarsi, prima di scmpattare un archivio, che sia organizzato in cartelle per evitare che in seguito alla decompressione si crei confusione nella directory corrente:
tar -tf file.tar
Per chi fosse interessato a conoscere ulteriori ozioni del comando è possibile consultare il manuale tramite il comando man tar oppure eseguire il comando tar con l’opzione -help.
di Francesco Argese - TuxJournal.net