Come comprimere ed estrarre i file usando il comando tar su Linux
Il comando tar su Linux viene spesso utilizzato per creare file di archivio .tar.gz o .tgz, chiamati anche "tarballs". Questo comando ha un gran numero di opzioni, ma è sufficiente ricordare alcune lettere per creare rapidamente archivi con tar . 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 poi comprimerlo con la compressione gzip o bzip2 in un unico comando. Ecco perché il file risultante è un file .tar.gz o .tar.bz2.
Comprimi 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-di-archivio.tar.gz / percorso / a / directory-o-file
Ecco cosa significano in realtà questi interruttori:
- -c: Creare un archivio.
- -z: comprime l'archivio con gzip.
- -v: visualizza l'avanzamento nel terminale durante la creazione dell'archivio, noto anche come "verbose "mode. La v è sempre facoltativa in questi comandi, ma è utile.
- -f: consente di specificare il fil nome 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 / qualcosa sul sistema corrente e vuoi comprimerla in un file chiamato archive.tar.gz. Dovresti eseguire il seguente comando:
tar -czvf archive.tar.gz / usr / local / something
Comprimi più directory o file contemporaneamente
Mentre tar viene spesso utilizzato per comprimere una singola directory, è possibile utilizzarlo anche 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 / home / ubuntu / Downloads, la directory / usr / local / stuff e il file /home/ubuntu/Documents/notes.txt. 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 o file che vuoi eseguire il backup.
Escludi directory e file
In alcuni casi, potresti voler comprimere un'intera directory, ma non includere determinati file e directory. Puoi farlo aggiungendo un --escludere
passare per ogni directory o file che si desidera escludere.
Ad esempio, supponiamo di voler comprimere / home / ubuntu, 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
Il --escludere
l'interruttore è 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
Usa invece la compressione bzip2
Mentre la compressione gzip è più frequentemente utilizzata 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ù, quindi ottieni 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 roba
Estrai un archivio
Una volta che hai un archivio, puoi estrarlo con 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, eccetto il -X
interruttore sostituisce il -c
interruttore. Questo specifica che si desidera eXTratta un archivio invece di crearne uno.
Si consiglia di estrarre il contenuto dell'archivio in una directory specifica. Puoi farlo aggiungendo il -C
passare 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. corri il info tar comando sulla shell per visualizzare la pagina di informazioni dettagliate del comando tar. premi il q chiave per uscire dalla pagina delle informazioni quando hai finito. Puoi anche leggere il manuale di tar online.
Se stai utilizzando un desktop grafico Linux, puoi anche 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.