back to top

Come creare file tar su Linux

Tar è un programma per l’archiviazione molto utilizzato in ambiente Unix e Linux. E’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 creazioni 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 possano essere usati in combinazione trà loro a questi fini.

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 inoltre utilizzarlo in associazione con strumenti di compressione come per esempio Gzip o Bzip2 con un unica riga di comando. Inteso come file format il, Tar nacque come Raw cioè per essere utilizzato come immagine di contenuti.

Vediamo ora qualche esempio sull’utilizzo pratico 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 creato da Tar ha estensione ‘.tar’:

tar -opzioni archivio.tar file_1 file_2 file_...

E’ 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 dell’archiviazione con Tar sono numerose, ma nella stragrande maggioranza dei casi quelle che veranno 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 archviati.

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 stà 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.gz
tar -xzf file.tar.gz
tar -xZf file.tar.gz

Per tutti vale l’argomento x (extract), che impone l’azione di decompressione indipendentemente dal programma indicato nel secondo parametro da passare a Tar.

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.