Capita spesso di dover creare degli archivi di backup o semplicemente per comprimere file e cartelle il cui uso è relativamente frequente. Ci viene incontro tar che, usato da shell, ci permette di:

  • Creare archivi
    $ tar -cvf nome_archivio.tar nome_cartella_da_comprimere
  • Estrarre archivi
    $ tar -xvf archivio.tar
  • Elencare il contenuto ( … senza estrarre i file dell’archivio )
    $ tar -tf archivio.tar

Riassumiamo le opzioni usate:

-c : crea un archivio
-f : specifica un file da estrarre o da creare
-x : estrae un archivio
-t : permette di mostrare il contenuto degli archivi
-v : dà in output maggiori informazioni sui file

tar è uno strumento che serve solo ad archiviare: non riduce lo spazio occupato dai file.
Per la compressione ci vengono incontro gzip e bzip2 che invece sono utilità che comprimono (ma non archiviano).
Usando i due strumenti insieme, possiamo quindi “archiviare” cartelle compresse.

Alcuni esempi.

Comprimere e decomprimere archivi con gzip

$ tar -czvf nomeArchivio.tgz nomeCartellaDaArchiviare/

Produrrà un archivio .tgz (o .tar.gz) compresso. Per decomprimerlo, useremo la seguente sintassi:

$ tar -zxvf ./nomeArchivio.tgz

Comprimere e decomprimere archivi con bzip2

$ tar -cjvf nomeArchivio.tar.bz2 nomeCartellaDaArchiviare/

Produrrà un archivio .tar.bz2 compresso. Per decomprimerlo, useremo la seguente sintassi:

$ tar -xjvf ./nomeArchivio.tar.bz2

Listare il contenuto degli archivi compressi

È possibile sapere cosa contiene un archivio compresso usando la seguente sintassi:

$ tar -ztf nomeArchivio.tar.gz

Alcune note

È possibile comprimere più cartelle contemporaneamente, aggiungendo a fine riga il nome delle altre cartelle. Un esempio:

$ tar -czvf archivioCompresso.tar.gz CartellaA/ CartellaB/ CartellaC/

Per maggiori informazioni su tar, consulta le pagine di manuale, scrivendo sul terminale:

$ man tar