Bash in pillole: Usare TAR per creare e accedere agli archivi .tar.gz e .tar.bz2

Bash in pillole: Usare TAR per creare e accedere agli archivi .tar.gz e .tar.bz2

Eccoci qui con un nuovo post sull’utilizzo del terminale di Linux (utile anche per chi utilizza Mac OS o qualsiasi altro sistema operativo Unix-based). In questo articolo vedremo come utilizzare il comando “tar” per accedere al contenuto di archivi .tar o .tar.gz (i cosiddetti “tarballs“).

Il comando tar ha un grande numero di opzioni, ma molte di esse sono utili per un impiego avanzato, mentre per un utilizzo comune basta conoscere davvero pochissime lettere.

Su gran parte delle distribuzioni Linux e su Mac OS è presente la versione GNU di tar, che contiene anche le funzionalità di compressione. In pratica, tar può creare archivi compressi con gli algoritmi gzip e bzip2, permettendo di generare con un solo comando files .tar.gz o tar.bz2.

CREAZIONE DI UN ARCHIVIO

Detto questo, vediamo subito come creare un archivio tarball da una specifica directory. Una delle comodità di creare un archivio in questo modo è il fatto che i permessi dei files non vengono modificati, come invece avviene quando copiamo normalmente la directory da un path ad un altro.

Apriamo il nostro terminale e digitiamo:

tar -czvf nomearchivio.tar.gz  /path/della/directory/da/comprimere

dove “nomearchivio” rappresenta il nome che vogliamo dare al file .tar.gz e “/path/della/directory/da/comprimere” il percorso della directory che vogliamo comprimere.

Le opzioni utilizzate per la creazione dell’archivio sono:

  • c – crea un archivio;
  • z – l’archivio deve essere compresso con l’algoritmo gzip;
  • v – usa la modalità “verbose”, cioè descrittiva. In pratica, mostrami i files che stai comprimendo;
  • f – il nome del file .tar.gz è quello di seguito indicato.

Dopo l’esecuzione del comando, vedremo apparire nella directory corrente il file nomearchivio.tar.gz.

Un’altra opzione utile durante la creazione di un archivio con tar può essere l’esclusione di alcuni files dall’archivio. Si ottiene con l’opzione “–exclude”, che si può utilizzare così:

tar -czvf nomearchivio.tar.gz  /path/della/directory/da/comprimere –exclude=*.doc

Nell’esempio, escludiamo tutti i files .doc dall’archiviazione e compressione.

Inoltre, se volessimo utilizzare il metodo di compressione bzip2, più efficace in diversi casi, basta sostituire l’opzione “z” con l’opzione “j”. Quindi:

tar -cjvf nomearchivio.tar.bz2  /path/della/directory/da/comprimere –exclude=*.doc

DECOMPRESSIONE E APERTURA DI UN ARCHIVIO

Per estrarre il contenuto da un archivio, basta utilizzare il seguente comando:

tar -xzvf nomearchivio.tar.gz

Come possiamo constatare, tutte le opzioni sono rimaste invariate, tranne l’opzione “c” che è stata sostituita da una “x” (eXtract), che rappresenta il comando di estrazione dell’archivio.

Se desiderassimo estrarre il contenuto dell’archivio in una directory specifica, potremmo usare l’opzione “-C” nel seguente modo:

tar -xzvf nomearchivio.tar.gz -C /directory/specifica

dove “/directory/specifica” rappresenta la nostra directory di destinazione.

Commenta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *







Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.