Tar è un programma per l’archiviazione molto utilizzato in ambiente Unix e Linux. È bene precisare fin da subito che il termine “archiviazione” deve essere tenuto ben distinto da quello, a volte, associato di “compressione”; con il primo si intende infatti la creazione di un unico file (archivio) contenente più documenti e cartelle; con il secondo, invece, si intende un’operazione di manipolazione che, attraverso un algoritmo (cd. algoritmo di compressione), diminuisce lo spazio occupato da file e directory all’interno del supporto in cui sono registrati.
Nello stesso modo, è opportuno distinguere il concetto di “archivio” da quello di “cartella”: mentre, infatti, nel caso del primo abbiamo più documenti che vengono ridotti in un unico file, nel secondo caso lo spostamento di uno o più file in una cartella consiste unicamente in un cambiamento di percorso all’interno del file system.
Capita molto spesso che ad un’operazione di archiviazione ne segua un’altra di compressione; per questo motivo, molti software (come ad esempio il popolare WinZip®) presentano entrambe le funzionalità o possono essere usati in combinazione tra loro a questi fini.
Indice
Come creare archivi con Tar
Tar è nato per essere utilizzato da linea di comando (Shell) e presenta numerose opzioni che lo rendono uno strumento versatile. È possibile utilizzarlo in associazione con strumenti di compressione, come ad esempio Gzip o Bzip2, in un’unica riga di comando. Inteso come file format, Tar nacque come Raw, cioè per essere utilizzato come immagine di contenuti.
Vediamo ora qualche esempio pratico sull’utilizzo di questo software. Il comando principale dell’applicazione è l’omonimo tar, che deve essere seguito dalle opportune opzioni, dal nome dell’archivio che si desidera ottenere e dal nome del file (o dei file) da archiviare. Se i file non si trovano nella posizione corrente, la path desiderata deve essere specificata nell’istruzione. I file/archivio creati da Tar hanno estensione ‘.tar’:
tar -opzioni archivio.tar file_1 file_2 file_...
È poi possibile utilizzare il carattere jolly (*) per comprimere simultaneamente più file senza specificare il nome di ognuno di essi:
tar -opzioni archivio.tar *.estensione
Le opzioni a disposizione per l’archiviazione con Tar sono numerose, ma nella stragrande maggioranza dei casi quelle che verranno utilizzate saranno 3:
- c: ha la funzione di creare gli archivi.
- x: ha la funzione di scompattare gli archivi.
- v: scorre la lista dei documenti archiviati.
Quindi, per creare un archivio a partire da un file chiamato ‘miofile.txt’, potremmo utilizzare un comando simile al seguente:
tar -cvf miofile.tar miofile.txt
A questo punto, l’archivio sarà a disposizione per la lettura dei contenuti tramite l’utilizzo di una semplice istruzione:
tar tvf miofile.tar
Dove l’argomento t sta per table of contents, con riferimento al contenuto dei file archiviati.
Infine, il processo di scompattamento dell’archivio avverrà in seguito alla semplice istruzione:
tar -xf miofile.tar
Creare archivi compressi: Tar e programmi di compressione
Nella prima parte di questo articolo, abbiamo sottolineato il fatto che Tar non è un’applicazione di compressione, ma di archiviazione; è comunque possibile associare i comandi di Tar con quelli di programmi come Bzip2, Gzip e Compress in un’unica istruzione, ottenendo così archivi compressi.
Procediamo con ordine; di seguito riporteremo i comandi necessari per creare simultaneamente un archivio compresso in Tar con Bzip2, Gzip e Compress:
tar -cjf file.tbz2 file_1 file_2 file_n...
tar -czf file.tgz file_1 file_2 file_n...
tar -cZf file.tar.Z file_1 file_2 file_n...
Come sarà semplice notare, ad ogni algoritmo di compressione corrisponde un diverso parametro da passare all’istruzione. Per cui avremo j che indica una compressione da attuare con Bzip2; z che indica una compressione da operare attraverso Gzip; Z che indica al sistema una compressione tramite Compress.
Gli archivi prodotti dai comandi elencati produrranno differenti tipi di file, caratterizzati da estensioni diverse. Per cui potremo avere le seguenti estensioni nel caso di Bzip2:
- .tar.bz2
- .tar.bzip2
- .tbz2
- .tbz
Mentre nel caso di Gzip avremo:
- .tar.gz
- .tgz
- .tar.gzip
Infine, con Compress saranno possibili le seguenti estensioni:
- .tar.Z
- .taz
Decomprimere un archivio Tar compresso
Passiamo ora alle istruzioni di decompressione e conseguente spacchettamento degli archivi. Anche in questo caso rispetteremo l’ordine degli algoritmi tenuto in precedenza:
tar -xjf file.tar.bz2
tar -xzf file.tar.gz
tar -xZf file.tar.Z
Per tutti vale l’argomento x (extract), che impone l’azione di decompressione, indipendentemente dal programma indicato nel secondo parametro da passare a Tar.