Nel nostro tutorial precedente, abbiamo discusso su come comprimere e decomprimere i file usando gzip e bzip2 programmi. Oggi impareremo come archiviare file e directory in Linux. L'archiviazione e la compressione non sono la stessa cosa? Alcuni di voi potrebbero pensare spesso che questi termini si riferiscano allo stesso significato. Ma entrambi sono completamente diversi. L'archiviazione è il processo di combinazione di più file e directory (di dimensioni uguali o diverse) in un unico file. D'altra parte, la compressione è il processo di riduzione delle dimensioni di uno o più file o directory. L'archiviazione viene spesso utilizzata come parte dei backup di sistema o quando si spostano i dati da un sistema all'altro. Spero che tu capisca la differenza tra archiviazione e compressione. Passiamo ora all'argomento.
Archivia file e directory in Linux
I programmi più comuni per archiviare file e directory sono;
- catrame
- comprimi
Questo è un grande argomento. Quindi, pubblicherò questo articolo in due parti. Nella prima parte vedremo come archiviare file e directory usando Tar comando.
Archivia file e directory utilizzando il comando Tar
Catrame è un comando Unix che sta per T scimmia A archivio. Viene utilizzato per combinare o archiviare più file (di dimensioni uguali o diverse) in un unico file. Ci sono 4 modalità operative principali nell'utilità tar.
- c - Crea un archivio da uno o più file o directory.
- x - Estrai un archivio.
- r - Aggiungi file alla fine di un archivio.
- t - Elenca il contenuto dell'archivio.
Per l'elenco completo delle modalità, fare riferimento alle pagine man.
Crea un nuovo archivio
Ai fini di questa guida, utilizzerò una cartella denominata otechnix che contiene tre diversi tipi di file.
$ ls ostechnix/ file.odt image.png song.mp3
Ora creiamo un nuovo archivio tar della directory ostechnix.
$ tar cf ostechnix.tar ostechnix/
Qui, c flag referenzia crea un nuovo archivio e f fa riferimento al nome del file.
Allo stesso modo, per creare un archivio da un insieme di file nella directory di lavoro corrente, utilizzare questo comando:
$ tar cf archive.tar file1 file2 file 3
Estrai archivi
Per estrarre un archivio nella directory corrente, fai semplicemente:
$ tar xf ostechnix.tar
Possiamo anche estrarre l'archivio in una directory diversa usando C flag(c maiuscola). Ad esempio, il comando seguente estrae il file di archivio specificato in Download directory.
$ tar xf ostechnix.tar -C Downloads/
In alternativa, vai nella cartella Download ed estrai l'archivio al suo interno come di seguito.
$ cd Downloads/
$ tar xf ../ostechnix.tar
A volte potresti voler estrarre file di un tipo specifico. Ad esempio, il comando seguente estrae i file di tipo ".png".
$ tar xf ostechnix.tar --wildcards "*.png"
Crea archivi compressi con gzip e bzip
Per impostazione predefinita, Tar crea il file di archivio che termina con .tar estensione. Inoltre, il comando tar può essere utilizzato insieme alle utilità di compressione gzip e bzip2 . I file terminano con .tar le estensioni fanno riferimento al semplice archivio tar, i file terminano con tar.gz o .tgz fa riferimento a un gzippato archive e i file tar terminano con tar.bz2 o .tbz fa riferimento a bzippato archivio, rispettivamente.
Per prima cosa, creiamo un gzippato archivio:
$ tar czf ostechnix.tar.gz ostechnix/
Oppure,
$ tar czf ostechnix.tgz ostechnix/
Qui utilizziamo z flag per comprimere l'archivio usando il metodo di compressione gzip.
Puoi usare v flag per visualizzare lo stato di avanzamento durante la creazione dell'archivio.
$ tar czvf ostechnix.tar.gz ostechnix/ ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3
Qui, v si riferisce in modo dettagliato.
Per creare un archivio compresso con gzip da un elenco di file:
$ tar czf archive.tgz file1 file2 file3
Per estrarre l'archivio compresso con gzip nella directory corrente, utilizzare:
$ tar xzf ostechnix.tgz
Per estrarre l'archivio in una cartella diversa, usa il flag -C.
$ tar xzf ostechnix.tgz -C Downloads/
Ora creiamo un archivio zippato .
Per farlo, usa j segnala come sotto.
Crea un archivio di una directory:
$ tar cjf ostechnix.tar.bz2 ostechnix/
Oppure,
$ tar cjf ostechnix.tbz ostechnix/
Crea archivio dall'elenco dei file:
$ tar cjf archive.tar.bz2 file1 file2 file3
Oppure,
$ tar cjf archive.tbz file1 file2 file3
Per visualizzare l'avanzamento, utilizza v bandiera.
Ora, estraiamo l'archivio bzippato nella directory corrente. Per farlo, facciamo:
$ tar xjf ostechnix.tar.bz2
Oppure, estrai l'archivio in un'altra directory:
$ tar xjf ostechnix.tar.bz2 -C Downloads
Crea un archivio di più directory e/o file alla volta
Questa è un'altra caratteristica più interessante del comando tar. Per creare un archivio compresso con gzip di più directory o file contemporaneamente, usa questo comando:
$ tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt
Il comando precedente creerà un archivio di Download , Documenti directory e file.odt file in otechnix directory e salvare l'archivio nella directory di lavoro corrente.
Escludi directory e/o file durante la creazione di un archivio
Questo è abbastanza utile quando si esegue il backup dei dati. È possibile escludere dal backup i file o le directory non importanti. Qui è dove --escludi l'interruttore viene in aiuto. Ad esempio, vuoi creare un archivio della tua directory /home, ma escludere le directory Download, Documenti, Immagini, Musica.
Ecco come lo facciamo.
$ tar czvf ostechnix.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music
Il comando precedente creerà un archivio compresso con gzip della mia directory $HOME, escluse le cartelle Download, Documenti, Immagini e Musica. Per creare un archivio bzippato, sostituisci z con j e usa l'estensione .bz2 nell'esempio sopra.
Elenca i contenuti dei file di archivio senza estrarli
Per elencare il contenuto di un file di archivio, utilizziamo t bandiera.
$ tar tf ostechnix.tar ostechnix/ ostechnix/file.odt ostechnix/image.png ostechnix/song.mp3
Per visualizzare l'output dettagliato, usa v bandiera.
$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
Aggiungi file agli archivi esistenti
È possibile aggiungere/aggiornare file o directory agli archivi esistenti utilizzando r bandiera. Dai un'occhiata al comando seguente.
$ tar rf ostechnix.tar ostechnix/ sk/ example.txt
Il comando precedente aggiungerà la directory denominata sk e un file denominato example.txt nell'archivio ostechnix.tar.
Puoi verificare se i file sono stati aggiunti o meno usando il comando:
$ tar tvf ostechnix.tar drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/ -rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt -rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png -rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3 drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/ -rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt -rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt
TL;DR
Crea archivi tar:
- Archivio tar semplice: tar -cf archivio.tar file1 file2 file3
- Archivio tar compresso con Gzip: tar -czf archivio.tgz file1 file2 file3
- Archivio tar compresso: tar -cjf archivio.tbz file1 file2 file3
Estrai archivi tar:
- Archivio tar semplice: tar -xf archivio.tar
- Archivio tar compresso con Gzip: tar -xzf archivio.tgz
- Archivio tar compresso: tar -xjf archivio.tbz
Abbiamo appena trattato l'uso di base del comando tar. È sufficiente iniziare con il comando tar. Tuttavia, se vuoi conoscere maggiori dettagli, fai riferimento alle pagine man.
$ man tar
E per ora è tutto. Nella parte successiva, vedremo come archiviare file e directory utilizzando l'utilità Zip.
- Come archiviare file e directory in Linux – Parte 2