Nella nostra vita quotidiana ci imbattiamo in file archiviati sulle piattaforme di ogni tipo, che sia Windows, Mac o Linux. Esistono diversi programmi di applicazione disponibili per tutte le piattaforme per creare file di archivio e decomprimerli. Quando si tratta di lavorare sulla piattaforma Linux, dobbiamo occuparci molto frequentemente di file archiviati.

In questo articolo parleremo degli strumenti di archiviazione disponibili nella distribuzione standard di Linux, delle loro caratteristiche, degli esempi, ecc. L’articolo è diviso in due parti, ciascuna contenente cinque strumenti di archiviazione da riga di comando (cioè un totale di 10 Best Command Line Archive Tools).
Cos’è un file archiviato?
Un file archiviato è un file compresso composto da uno o più file informatici insieme ai metadati.
Caratteristiche dell’archiviazione
- Compressione dati
- Crittografia
- Concatenazione file
- Estrazione automatica
- Installazione automatica
- Sorgente volume e informazioni sui media
- Spanning file
- Checksum
- Informazioni sulla struttura delle directory
- Altri metadati (Dati su dati)
- Scoperta degli errori
Area di Applicazione
- Archiviazione del sistema di file del computer insieme ai metadati.
- Utile nel trasferire file localmente.
- Utile nel trasferire file via web.
- Applicazione di packaging software.
L’applicazione di archiviazione utile nella distribuzione standard di Linux è la seguente:
1. Comando tar
tar è lo strumento standard di archiviazione di UNIX/Linux. Nella sua fase iniziale era un programma di archiviazione su nastro che gradualmente è diventato un pacchetto di archiviazione ad uso generale in grado di gestire file di archivio di ogni tipo. tar accetta molti filtri di archiviazione con opzioni.
Opzioni di tar
- -A : Aggiungi file tar agli archivi esistenti.
- -c : Crea un nuovo file di archivio.
- -d : Confronta l’archivio con il sistema di file specificato.
- -j : Comprimi l’archivio con bzip
- -r : Aggiungi file agli archivi esistenti.
- -t : Elenca il contenuto degli archivi esistenti.
- -u : Aggiorna l’archivio
- -x : Estrai file dall’archivio esistente.
- -z : Comprimi l’archivio con gzip
- –delete : Elimina file dall’archivio esistente.
Esempi di tar
Crea un file di archivio tar.
# tar -zcvf name_of_tar.tar.gz /path/to/folder
Decomprimi un file di archivio tar.
# tar -zxvf Name_of_tar_file.tar.gz
Per ulteriori esempi dettagliati, leggi 18 Esempi di Comando Tar in Linux.
Comando shar
shar che sta per archivio Shell è uno script shell, la cui esecuzione creerà i file. shar è un archivio autoestraente che è un’utilità legacy e necessita di Unix Bourne Shell per estrarre i file. shar ha il vantaggio di essere testo normale ma è potenzialmente pericoloso, poiché produce un eseguibile.
opzioni shar
- -o : Salva l’output negli archivi come specificato nell’opzione.
- -l : Limita le dimensioni dell’output come specificato nell’opzione ma non lo divide.
- -L : Limita le dimensioni dell’output come specificato nell’opzione e lo divide.
- -n : Nome dell’archivio da includere nell’intestazione dei file shar.
- -a : Consente la generazione automatica delle intestazioni.
Nota: L’opzione ‘-o‘ è richiesta se si utilizza l’opzione ‘-l‘ o ‘-L‘ e l’opzione ‘-n‘ è richiesta se si utilizza l’opzione ‘-a‘.
Esempi di shar
Creare un file di archivio shar.
# shar file_name.extension > filename.shar
Estrarre un file di archivio shar.
# unshar file_name.shar
3. Comando ar
ar è l’utilità di creazione e manipolazione degli archivi, utilizzata principalmente per le librerie di file oggetto binario. ar sta per archiviatore e può essere utilizzato per creare archivi di qualsiasi tipo per qualsiasi scopo ma è stato in gran parte sostituito da ‘tar’ e oggi viene utilizzato solo per creare e aggiornare file di librerie statiche.
opzioni ar
- -d : Elimina i moduli dall’archivio.
- -m : Sposta i membri nell’archivio.
- -p : Stampa i membri specificati dell’archivio.
- -q : Aggiunge rapidamente.
- -r : Inserisce un membro del file nell’archivio.
- -s : Aggiunge un indice all’archivio.
- -a : Aggiunge un nuovo file ai membri esistenti dell’archivio.
Esempi ar
Crea un archivio usando lo strumento ‘ar‘ con una libreria statica chiamata ‘libmath.a‘ con i file oggetto ‘substraction’ e ‘division’.
# ar cr libmath.a substraction.o division.o
Per estrarre un file archivio ‘ar’.
# ar x libmath.a
4. cpio
cpio sta per Copia dentro e fuori. Cpio è un archiviatore di file a uso generale per Linux. È attivamente utilizzato da RedHat Package Manager (RPM) e nell’initramfs del kernel Linux, nonché un importante strumento di archiviazione in Apple Computer’s Installer (pax).
Opzioni cpio
- -0 : Legge un elenco di nomi di file terminati da un carattere nullo anziché da un ritorno a capo.
- -a : Reimposta l’ora di accesso.
- -A : Aggiungi.
- -b : Scambia.
- -d : Crea directory.
Esempi cpio
Crea un file archivio ‘cpio’.
# cd tecmint # ls file1.o file2.o file3.o # ls | cpio -ov > /path/to/output_folder/obj.cpio
Per estrarre un file archivio cpio.
# cpio -idv < /path/to folder/obj.cpio
5. Gzip
Gzip è un’utilità standard e ampiamente utilizzata per la compressione e decompressione di file. Gzip consente la concatenazione dei file. Comprimendo il file con gzip, viene generato il tarball che ha il formato ‘*.tar.gz‘ o ‘*.tgz‘.
Opzioni di gzip
- –stdout : Produce l’output su standard output.
- –to-stdout : Produce l’output su standard output.
- –decompress : Decomprimere il file.
- –uncompress : Decomprimere il file.
- -d : Decomprimere il file.
- -f : Forza la compressione/decompressione.
Esempi di gzip
Creare un file di archivio ‘gzip’.
# tar -cvzf name_of_archive.tar.gz /path/to/folder
Per estrarre un file di archivio ‘gzip’.
# gunzip file_name.tar.gz
Il comando precedente deve essere seguito dal comando sotto indicato.
# tar -xvf file_name.tar
Nota: L’architettura e la funzionalità di ‘gzip’ rendono difficile il recupero dei file di archivio tar ‘gzippati’ corrotti. Si consiglia di creare diversi backup dei file importanti gzippati, in diverse posizioni.
E questo è tutto per ora. Discuteremo delle altre applicazioni di compressione e decompressione disponibili per Linux nel nostro prossimo articolo. Nel frattempo, restate sintonizzati e connessi a Tecmint. Non dimenticate di fornirci il vostro prezioso feedback nella sezione commenti qui sotto.
Source:
https://www.tecmint.com/command-line-archive-tools-for-linux/