Gestire Archivi TAR in LINUX: introduzione, sintassi, opzioni fondamentali
Nel mondo di Linux, la gestione dei file è un aspetto fondamentale, sia per
l'organizzazione quotidiana che per operazioni più avanzate come il backup e la
compressione dei dati. Uno degli strumenti più versatili e utilizzati in questo
ambito è il comando tar
. Con una lunga storia che affonda le radici nei
primi sistemi Unix, tar
è diventato un pilastro per la gestione e la
manipolazione degli archivi. In questo articolo esploreremo cos'è il comando
tar
, come usarlo per creare archivi e perché è essenziale per ogni utente
Linux.
Conoscere tar
è cruciale non solo per eseguire operazioni di archiviazione,
ma anche per comprimere file, eseguire backup e risparmiare spazio su disco.
Grazie alla sua semplicità e potenza, è uno strumento che ogni utente di Linux
dovrebbe avere nel proprio arsenale. Andremo a esplorare le sue funzionalità,
iniziando dalla creazione di archivi base, per poi passare ad operazioni più
avanzate nei prossimi articoli della serie.
In questa prima parte, tratteremo i concetti fondamentali, a partire dalla
sintassi del comando fino alla creazione di archivi. Vedremo come utilizzare
tar
per archiviare file e directory, il tutto supportato da esempi pratici e
spiegazioni chiare.
Cos'è tar
e a cosa serve?
Il nome tar
deriva da Tape Archive, un termine che richiama i primi
giorni dell'informatica, quando i dati venivano archiviati su nastri magnetici.
Anche se oggi i nastri sono meno utilizzati, tar
è rimasto uno degli
strumenti più utili per creare archivi di file in vari formati, e si è evoluto
nel tempo per includere anche funzionalità di compressione. Non si tratta solo
di un semplice comando per archiviare dati: è diventato uno strumento versatile
per gestire backup, condividere file e risparmiare spazio.
In Linux, tar
è comunemente utilizzato per creare archivi di file e
directory, ma non si limita a questo. È anche un potente strumento per
comprimere archivi, consentendo di ridurre la dimensione dei dati, per esempio,
quando si preparano file per il trasferimento o il backup. Allo stesso tempo,
tar
può essere utilizzato per estrarre file da archivi esistenti,
visualizzare il contenuto di un archivio senza estrarlo o modificare archivi
aggiungendo o rimuovendo file.
La distinzione tra archiviazione e compressione è fondamentale. Quando
si crea un archivio con tar
, si sta semplicemente raccogliendo insieme una
serie di file in un unico pacchetto, senza modificarli. La compressione,
invece, riduce la dimensione dell'archivio, utilizzando algoritmi come
gzip, bzip2 o xz. tar
è spesso utilizzato in combinazione con
questi algoritmi di compressione per ottenere file più piccoli e facili da
gestire.
Sintassi di base del comando tar
La sintassi di base del comando tar
è semplice ma potente. Si presenta nel
formato seguente:
tar [opzioni] [file_di_output] [file_o_directory]
Ogni parte della sintassi ha una funzione specifica:
- [opzioni]: Le opzioni definiscono l'operazione che si desidera eseguire, come la creazione, l'estrazione o la visualizzazione di archivi.
- [file_di_output]: Qui si indica il nome del file di archivio da creare o
su cui si vuole lavorare. Il file di output può essere un archivio
.tar
o uno dei formati compressi come.tar.gz
o.tar.bz2
. - [file_o_directory]: Si specificano i file o le directory che si vogliono includere nell'archivio.
Nel prossimo paragrafo analizzeremo nel dettaglio alcune delle opzioni più
importanti del comando tar
.
Le principali opzioni di tar
-c
: Crea un archivio
L'opzione -c
sta per "create" (crea), e viene utilizzata quando si
desidera creare un nuovo archivio. Quando si usa questa opzione, il comando
tar
raccoglie insieme i file e le directory specificati e li inserisce
nell'archivio, senza comprimere i dati (a meno che non vengano utilizzate altre
opzioni, come la compressione).
Supponiamo di voler creare un archivio chiamato archivio.tar
che contenga i
file file1
e file2
. Il comando che useremo sarà:
tar -cf archivio.tar file1 file2
In questo caso, -c
indica che vogliamo creare un archivio, mentre
-f
specifica il nome dell'archivio che vogliamo creare (in questo caso,
archivio.tar
). Dopo aver eseguito il comando, troveremo un file chiamato
archivio.tar
, che conterrà i due file che abbiamo elencato (file1
e
file2
).
-x
: Estrae un archivio
L'opzione -x
sta per "extract" (estrai), ed è utilizzata per estrarre i
contenuti di un archivio precedentemente creato. Quando si usa questa opzione,
tar
decomprime i file dall'archivio e li copia nella directory corrente o in
quella specificata.
Se desideriamo estrarre i file da un archivio chiamato archivio.tar
, useremo
il comando:
tar -xf archivio.tar
Con l'opzione -x
, tar
estrarrà tutti i file contenuti nell'archivio
archivio.tar
e li ripristinerà nella directory in cui ci troviamo. La
presenza dell'opzione -f
è necessaria per indicare su quale archivio
vogliamo lavorare.
-t
: Elenca i file contenuti in un archivio
Se desideriamo visualizzare i file contenuti all'interno di un archivio senza
estrarli, possiamo utilizzare l'opzione -t
. Questa opzione permette di
elencare i file presenti in un archivio senza modificarne il contenuto. È utile
quando vogliamo controllare cosa c'è dentro un archivio prima di estrarlo.
Per visualizzare i contenuti di un archivio chiamato archivio.tar
, possiamo
eseguire il comando:
tar -tf archivio.tar
Con -t
, tar
mostrerà un elenco dei file contenuti nell'archivio, ma non
eseguirà alcuna operazione di estrazione. L'opzione -f
è fondamentale per
specificare su quale archivio desideriamo ottenere informazioni.
-v
: Modalità verbosa
L'opzione -v
sta per "verbose" (verboso), e serve a rendere il comando
più dettagliato, mostrando informazioni su ciò che sta accadendo durante
l'operazione. Quando usiamo -v
, vedremo ogni file o directory che viene
aggiunta o estratta dall'archivio, il che può essere utile per monitorare
l'operazione in tempo reale.
Supponiamo di voler creare un archivio chiamato archivio.tar
con i file
file1
e file2
, e vogliamo che tar
mostri ogni file mentre lo aggiunge
all'archivio. In tal caso, il comando sarà:
tar -cvf archivio.tar file1 file2
L'opzione -v
farà in modo che ogni file venga elencato mentre viene
incluso nell'archivio. Ad esempio, l'output potrebbe essere simile a questo:
file1
file2
Questa modalità verbosa è particolarmente utile per tracciare il progresso dell'operazione, specialmente quando si lavora con archivi di grandi dimensioni o con molteplici file.
-f
: Specifica il nome del file di archivio
L'opzione -f
è una delle più importanti e viene sempre utilizzata quando
si lavora con tar
, poiché consente di specificare il nome del file di
archivio su cui vogliamo lavorare. Senza questa opzione, tar
non saprebbe
dove scrivere i dati o da dove estrarli. È l'opzione che collega l'archivio al
comando.
Quando utilizziamo il comando per creare un archivio, dobbiamo specificare il
nome del file di archivio con -f
, come mostrato nei seguenti esempi:
Creare un archivio:
tar -cf archivio.tar file1 file2
Estrare un archivio:
tar -xf archivio.tar
Se non forniamo -f
, il comando non saprà su quale file agire, e quindi
non funzionerà correttamente.
Sintesi delle opzioni principali
-c
: Crea un archivio.-x
: Estrae un archivio.-t
: Elenca i file contenuti in un archivio.-v
: Modalità verbosa (mostra ogni file che viene processato).-f
: Specifica il nome dell'archivio su cui lavorare.
Queste opzioni costituiscono le basi per lavorare con tar
, ma esistono anche
molte altre opzioni avanzate che ti permettono di personalizzare ulteriormente
il comportamento di tar
. Nei prossimi articoli esploreremo queste opzioni più
dettagliatamente, inclusi i metodi per comprimere gli archivi, estrarre file in
directory specifiche e automatizzare il processo con script e cron jobs.
Creazione di archivi
La creazione di archivi è una delle operazioni più comuni eseguite con tar
.
Per farlo, basta utilizzare l'opzione -c
insieme a -f
per specificare il
nome dell'archivio. Ecco un esempio base:
tar -cf archivio.tar file1 file2 directory/
In questo esempio, il comando crea un archivio chiamato archivio.tar
che
contiene i file file1
, file2
e la directory directory/
. Si noti che è
possibile includere sia file che intere directory all'interno dell'archivio.
Creazione di un archivio .tar
Supponiamo di avere tre file: documento.txt
, foto.jpg
e musica.mp3
. Se
volessimo archiviarli in un unico file .tar
, il comando sarebbe:
tar -cf archivio.tar documento.txt foto.jpg musica.mp3
Il risultato sarà un file chiamato archivio.tar
che contiene questi tre file.
Il comando non comprime i file, ma li raccoglie in un archivio. Il formato
.tar
è molto utile per combinare più file in un unico pacchetto, rendendo più
semplice il trasferimento o la gestione.
Archiviare più file o una directory in un unico file .tar
Un altro esempio comune potrebbe essere archiviare una directory. Se volessimo
archiviare una cartella di nome documenti
, il comando sarebbe:
tar -cf archivio.tar documenti/
In questo caso, tar
creerà un archivio chiamato archivio.tar
che contiene
tutto il contenuto della directory documenti
, comprese eventuali
sottodirectory e file al suo interno. È importante notare che tar
preserva la
struttura della directory, quindi quando si estrae l'archivio, la cartella
documenti
sarà ricreata insieme ai suoi contenuti.
Spiegazione passo passo dell'output
Quando esegui un comando tar -cf archivio.tar file1 file2 directory/
, senza
l'opzione -v
, il comando non mostrerà alcun dettaglio sull'operazione.
Tuttavia, se aggiungi l'opzione -v
per attivare la modalità verbosa, vedrai
una lista di file mentre vengono aggiunti all'archivio. Ecco cosa accade:
tar -cvf archivio.tar file1 file2 directory/
L'output potrebbe apparire come segue:
file1
file2
directory/
directory/file3
directory/file4
Ogni file e directory verrà elencato mentre viene incluso nell'archivio, il che ti permette di monitorare l'operazione in tempo reale.
Conclusioni
Concludendo questa prima parte, abbiamo introdotto il comando tar
, esplorato
la sua sintassi di base e visto come utilizzarlo per creare archivi. Nei
prossimi articoli, approfondiremo come comprimere archivi, estrarre file e
gestire operazioni avanzate con tar
.