Pur avendo già usato tar nel capitolo La compilazione e l'installazione di software libero, non vi abbiamo spiegato come funziona; lo scopo di questa sezione è proprio questo. Come find, anche tar è un antico strumento di UNIX, e come tale ha una sintassi un po' particolare. La sua sintassi è:
tar [opzioni] [file...] |
![]() | l'uso del trattino iniziale (-) per le opzioni brevi di tar è da evitare, fatta eccezione per quelle che seguono un'opzione estesa. |
c: crea nuovi archivi.
x: estrae file da un archivio.
t: elenca i file contenuti in un archivio.
v: elenca semplicemente i file mentre vengono aggiunti o estratti da un archivio, oppure, insieme all'opzione t (vedi sopra), mostra una lista estesa dei file invece di una breve.
f <file>: crea un archivio di nome <file>, estrae dall'archivio <file> oppure elenca i file dell'archivio <file>. Se questo parametro non viene indicato, il file predefinito sarà /dev/rmt0, che generalmente è un file speciale associato a uno streamer (unità a nastri). Se al posto del nome del file viene usato - (un trattino), l'uscita o l'ingresso (a seconda se state estraendo da un archivio o creandone uno) saranno associati a standard output o standard input.
z: impone a tar di comprimere con gzip l'archivio da creare, oppure indica che l'archivio da cui estrarre è compresso con gzip.
j: come z, ma il programma usato per la compressione sarà bzip2.
p: quando vengono estratti file da un archivio conserva tutti i loro attributi, compresi proprietario, ultima data d'accesso e così via. Molto utile per copie di interi filesystem;
r: accoda a un archivio esistente i file indicati nella linea di comando. Ricordate che l'archivio al quale accodate i file non deve essere compresso!
A: aggiunge gli archivi indicati nella linea di comando a quello specificato con l'opzione f. Come per r, affinché questo funzioni gli archivi non devono essere compressi.
Ci sono tante, tante, tante altre opzioni, potete fare riferimento alla pagina man tar(1) per una lista completa; guardate ad esempio l'opzione d. Ora facciamo un po' di pratica: supponiamo che vogliate creare un archivio di tutte le immagini contenute in /shared/images, compresso con bzip2, di nome images.tar.bz2 e posizionato nella vostra home directory. Dovrete quindi scrivere:
# # Attenzione: dovete trovarvi nella directory contenente # i file che volete archiviare! # $ cd /shared $ tar cjf ~/images.tar.bz2 images/ |
# # Torniamo alla nostra directory home # $ cd $ tar tjvf images.tar.bz2 |
# # spostatevi nella directory dove volete estrarre # i file contenuti nell'archivio # $ cd /shared $ tar jxpf ~/images.tar.bz2 |
Ora, supponiamo che vogliate estrarre dall'archivio la directory images/cars, e nient'altro. Potete scrivere così:
$ tar jxf ~/images.tar.bz2 images/cars |
Indietro | Partenza | Avanti |
at: programmare un comando per una sola esecuzione | Risali | bzip2 e gzip: programmi per la compressione di dati |