Linux: comando “tar” per comprimere e decomprimere archivi
Se sei un utente Linux, probabilmente hai incontrato il comando tar
almeno una volta. Questo strumento, il cui nome deriva dall’abbreviazione di “tape archive”, è essenziale per la gestione di file e directory in ambiente Unix-like. Utilizzato principalmente per creare e gestire archivi, il comando tar
è imprescindibile per operazioni di backup, distribuzione di software e molti altri scenari.
Utilizzo Base del Comando ‘tar’
Per creare un archivio tar, si usa l’opzione -c
(create) insieme a -f
per specificare il nome del file di archivio. Ad esempio:
tar -cf archivio.tar file1 file2 directory1
Questo comando creerà un archivio chiamato archivio.tar
contenente i file file1
, file2
e la directory directory1
.
Per estrarre i contenuti di un archivio tar, si utilizza l’opzione -x
(extract):
tar -xf archivio.tar
Questo comando estrarrà tutti i file e le directory contenuti in archivio.tar
nella directory corrente.
Compressione con ‘tar’
Per creare un archivio compresso con gzip
, si usa l’opzione -z
insieme a -c
e -f
:
tar -czf archivio.tar.gz file1 file2 directory1
Questo comando creerà un archivio compresso chiamato archivio.tar.gz
. Per estrarre un archivio compresso con gzip
, si utilizza:
tar -xzf archivio.tar.gz
In maniera analoga, per compressioni con bzip2
, si utilizza l’opzione -j
:
tar -cjf archivio.tar.bz2 file1 file2 directory1
Per estrarre un archivio compresso con bzip2
:
tar -xjf archivio.tar.bz2
Altre Utilità del Comando ‘tar’
tar
offre molte altre opzioni utili. Ad esempio, per visualizzare il contenuto di un archivio senza estrarlo, si usa -t
:
tar -tf archivio.tar
È possibile escludere file specifici durante la creazione di un archivio con l’opzione --exclude
:
tar -cf archivio.tar --exclude='*.log' /home/utente/documenti
In sintesi, il comando tar
è un potente strumento che ogni utente Linux dovrebbe conoscere. La sua flessibilità e la vasta gamma di opzioni lo rendono ideale per molte operazioni legate alla gestione degli archivi.
Sintassi di Base e Opzioni Comuni
Comprendere la sintassi di tar
può sembrare complesso all’inizio, ma diventa logico una volta capito il principio. Il comando base per creare un archivio è:
tar -cf nome_archivio.tar file_o_directory
Ad esempio:
tar -cf backup.tar /home/utente/documenti
Questo comando creerà un archivio chiamato backup.tar
contenente i contenuti della cartella /home/utente/documenti
.
Opzioni di Compressione
Le principali opzioni di compressione di tar
sono:
-z
per usaregzip
-j
per usarebzip2
-J
per usarexz
tar -czf backup.tar.gz /home/utente/documenti
tar -cjf backup.tar.bz2 /home/utente/documenti
tar -cJf backup.tar.xz /home/utente/documenti
Estrazione degli Archivi
L’estrazione è semplice:
tar -xf backup.tar
Per estrarre gli archivi compressi, aggiungere l’opzione corrispondente:
tar -xzf backup.tar.gz
tar -xjf backup.tar.bz2
tar -xJf backup.tar.xz
Altre Opzioni Utili
Il comando tar
ha molte altre opzioni:
- Visualizzare il contenuto senza estrarlo:
tar -tf backup.tar
- Verificare un archivio:
tar -tvf backup.tar
- Escludere file o directory specifici:
tar -cf backup.tar --exclude='*.log' /home/utente/documenti
Con il comando tar
, si può gestire anche file di grandi dimensioni con l’opzione --multi-volume
e decomprimere archivi direttamente su server remoti tramite SSH usando -C
.
Creare un Archivio con ‘tar’ e l’opzione ‘-cvf’
tar -cvf
è una delle combinazioni più utilizzate per creare rapidamente archivi:
-c
: creare un nuovo archivio-v
: modalità verbosa-f
: specificare il nome del file di archivio
tar -cvf documenti.tar /home/utente/documenti
Il comando assicura che l’archivio sia creato e il processo sia documentato nel terminale.
Opzioni di Compressione e Estrazione:
tar -czvf documenti.tar.gz /home/utente/documenti
tar -xzvf documenti.tar.gz
tar -cjvf documenti.tar.bz2 /home/utente/documenti
tar -xjvf documenti.tar.bz2
tar -cJvf documenti.tar.xz /home/utente/documenti
tar -xJvf documenti.tar.xz
È possibile escludere specifici file o directory durante la creazione di un archivio usando l’opzione --exclude
o gestire file di grandi dimensioni con l’opzione --multi-volume
.
tar
supporta anche l’estrazione diretta di file su server remoti attraverso SSH:
tar -cvf - /home/utente/documenti | ssh utente@remoto 'tar -xvf - -C /destinazione'
La padronanza del comando tar
è essenziale per ogni amministratore di sistema e utente Linux avanzato, fornendo una soluzione completa e flessibile per la gestione degli archivi.
Estrazione di File con l’opzione ‘-xvf’
Per estrarre un archivio con -xvf
:
tar -xvf archivio.tar
Estrai archivi compressi con:
tar -xzvf archivio.tar.gz
tar -xjvf archivio.tar.bz2
tar -xJvf archivio.tar.xz
Per estrarre l’archivio in una directory specifica:
tar -xvf archivio.tar -C /percorso/destinazione
Estrarre solo file specifici:
tar -xvf archivio.tar nomefile1 nomefile2
Gestione archivi multipli:
tar -xvf archivio.part --multi-volume
Comprimere Archivi con ‘tar’ usando ‘-z’ per gzip e ‘-j’ per bzip2
Per creare un archivio compresso con gzip
:
tar -czvf archivio.tar.gz /percorso/directory_o_file
Per creare un archivio compresso con bzip2
:
tar -cjvf archivio.tar.bz2 /percorso/directory_o_file
Decomprimere archivi:
tar -xzvf archivio.tar.gz
tar -xjvf archivio.tar.bz2
Usare --exclude
per escludere file o directory:
tar --exclude='*.log' -czvf archivio.tar.gz /percorso/directory_o_file
tar
combinato con -z
e -j
è fondamentale per comprimere e decomprimere archivi su Linux.
Esempi di Utilizzo in Vari Scenari di Backup e Ripristino
Per il backup di una directory:
tar -cvf backup_documenti.tar /home/utente/documenti
Per comprimere l’archivio:
tar -czvf backup_documenti.tar.gz /home/utente/documenti
Backup Incrementali e Differenziali
Per creare un backup incrementale:
tar --listed-incremental=/percorso/file_snap.snar -czvf backup_incrementale.tar.gz /home/utente/documenti
Ripristino dei Dati Utilizzando ‘tar’
Per estrarre un archivio compresso:
tar -xzvf backup_documenti.tar.gz
Per specificare una directory di destinazione:
tar -xzvf backup_documenti.tar.gz -C /percorso/destinazione
Automazione dei Backup con Script
Esempio di script di backup giornaliero:
#!/bin/bash data=$(date +\%Y-\%m-\%d) tar -czvf /backup/backup_documenti_\$data.tar.gz /home/utente/documenti
Utilizzare cron
per automatizzare l’esecuzione dello script.
Sono amante della tecnologia e delle tante sfumature del mondo IT, ho partecipato, sin dai primi anni di università ad importanti progetti in ambito Internet proseguendo, negli anni, allo startup, sviluppo e direzione di diverse aziende; Nei primi anni di carriera ho lavorato come consulente nel mondo dell’IT italiano, partecipando attivamente a progetti nazionali ed internazionali per realtà quali Ericsson, Telecom, Tin.it, Accenture, Tiscali, CNR. Dal 2010 mi occupo di startup mediante una delle mie società techintouch S.r.l che grazie alla collaborazione con la Digital Magics SpA, di cui sono Partner la Campania, mi occupo di supportare ed accelerare aziende del territorio .
Attualmente ricopro le cariche di :
– CTO MareGroup
– CTO Innoida
– Co-CEO in Techintouch s.r.l.
– Board member in StepFund GP SA
Manager ed imprenditore dal 2000 sono stato,
CEO e founder di Eclettica S.r.l. , Società specializzata in sviluppo software e System Integration
Partner per la Campania di Digital Magics S.p.A.
CTO e co-founder di Nexsoft S.p.A, società specializzata nella Consulenza di Servizi in ambito Informatico e sviluppo di soluzioni di System Integration, CTO della ITsys S.r.l. Società specializzata nella gestione di sistemi IT per la quale ho partecipato attivamente alla fase di startup.
Sognatore da sempre, curioso di novità ed alla ricerca di “nuovi mondi da esplorare“.