4Sep

Come comprimere ed estrarre i file usando il comando tar su Linux

Il comando tar su Linux è spesso usato per creare file di archivio. tar.gz o. tgz, chiamati anche "tarball". Questo comando ha un gran numero di opzioni, ma è sufficiente ricordare alcune lettere per creare rapidamente archivi concatrame. Il comando tar può estrarre anche gli archivi risultanti.

Il comando tar GNU incluso nelle distribuzioni Linux ha una compressione integrata. Può creare un archivio. tar e quindi comprimerlo con la compressione gzip o bzip2 in un unico comando. Ecco perché il file risultante è un file. tar.gz o. tar.bz2.

Comprime un'intera directory o un singolo file

Utilizzare il seguente comando per comprimere un'intera directory o un singolo file su Linux. Comprime anche ogni altra directory all'interno di una directory specificata, in altre parole, funziona in modo ricorsivo.

tar -czvf nome-of-archive.tar.gz /path/to/ directory-o-file

Ecco cosa significano questi switch:

  • -c: C reate un archivio.
  • -z: comprime l'archivio con g z ip.
  • -v: visualizza l'avanzamento nel terminale durante la creazione dell'archivio, noto anche come modalità " v erbose".La v è sempre facoltativa in questi comandi, ma è utile.
  • -f: consente di specificare il nome f dell'archivio.

Diciamo che hai una directory chiamata "stuff" nella directory corrente e vuoi salvarla in un file chiamato archive.tar.gz. Dovresti eseguire il seguente comando:

tar -czvf archive.tar.gz roba

Oppure, diciamo che c'è una directory su /usr/local/ sul sistema corrente e vuoi comprimerla in un file denominato archive.tar.gz. Avresti eseguito il seguente comando:

tar -czvf archive.tar.gz /usr/local/ qualcosa

comprime più directory o file contemporaneamente

Mentre tar viene spesso utilizzato per comprimere una singola directory, potresti anche usarlo per comprimere più directory, piùsingoli file o entrambi. Basta fornire un elenco di file o directory invece di uno solo. Ad esempio, supponiamo di voler comprimere la directory dei download /home/ubuntu/, la directory del materiale /usr/local/ e il file notes.txt di /home/ubuntu/Documents/.Dovresti solo eseguire il seguente comando:

tar -czvf archive.tar.gz /home/ubuntu/ Downloads /usr/local/ stuff /home/ubuntu/Documents/ notes.txt

Basta elencare tutte le directory oi file che vuoi eseguire il backup.

Escludi directory e file

In alcuni casi, è possibile comprimere un'intera directory, ma non includere determinati file e directory. Puoi farlo aggiungendo un interruttore --exclude per ogni directory o file che vuoi escludere.

Ad esempio, supponiamo di voler comprimere Ubuntu /home/, ma non vuoi comprimere le directory /home/ubuntu/ Downloads e /home/ubuntu/. cache. Ecco come lo faresti:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = /home/ubuntu/ Downloads --exclude = /home/ubuntu/. cache

L'opzione --exclude è molto potente. Non prende nomi di directory e file, in realtà accetta schemi. C'è molto di più che puoi fare con esso. Ad esempio, è possibile archiviare un'intera directory ed escludere tutti i file. mp4 con il seguente comando:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = *. Mp4

Utilizzare la compressione bzip2 Invece

Mentre la compressione gzip è più frequentementeusato per creare file. tar.gz o. tgz, tar supporta anche la compressione bzip2.Ciò consente di creare file compressi con bzip2, spesso denominati file. tar.bz2,. tar.bz o. tbz. Per fare ciò, basta sostituire -z per gzip nei comandi qui con a -j per bzip2.

Gzip è più veloce, ma generalmente comprime un po 'meno, quindi ottieni un file un po' più grande. Bzip2 è più lento, ma si comprime un po 'di più, in modo da ottenere un file un po' più piccolo. Gzip è anche più comune, con alcuni sistemi Linux messi a nudo, incluso il supporto gzip di default, ma non il supporto bzip2.In generale, però, gzip e bzip2 sono praticamente la stessa cosa ed entrambi funzioneranno allo stesso modo. Ad esempio, invece del primo esempio che abbiamo fornito per comprimere la directory stuff, dovresti eseguire il seguente comando:

tar -cjvf archive.tar.bz2 stuff

Estrarre un archivio

Una volta che hai un archivio, puoi estrarlocon il comando tar. Il seguente comando estrarrà il contenuto di archive.tar.gz nella directory corrente.

tar -xzvf archive.tar.gz

È lo stesso del comando per la creazione di archivi che abbiamo usato sopra, a parte il cambio -x sostituisce l'opzione -c. Ciò specifica che si desidera che x ritiri un archivio invece di crearne uno.

Potrebbe essere necessario estrarre il contenuto dell'archivio in una directory specifica.È possibile farlo aggiungendo l'opzione -C alla fine del comando. Ad esempio, il seguente comando estrarrà il contenuto del file archive.tar.gz nella directory / tmp.

tar -xzvf archive.tar.gz -C / tmp

Se il file è un file compresso con bzip2, sostituire "z" nei comandi precedenti con una "j".

Questo è l'uso più semplice possibile del comando tar. Il comando include un gran numero di opzioni aggiuntive, quindi non possiamo elencarle tutte qui. Per maggiori informazioni.eseguire il comando tar taratura sulla shell per visualizzare la pagina di informazioni dettagliate del comando tar. Premi il tasto q per uscire dalla pagina delle informazioni quando hai finito. Puoi anche leggere il manuale di tar online.

Se si utilizza un desktop grafico Linux, è possibile utilizzare l'utilità di compressione dei file o il file manager incluso con il desktop per creare o estrarre i file. tar. Su Windows, puoi estrarre e creare archivi. tar con l'utility 7-Zip gratuita.