GNU/Linux >> Linux Esercitazione >  >> Linux

Metodi di compressione e archiviazione in Linux

Questo articolo spiega come creare ed estrarre archivi di file in Linux® utilizzando vari metodi.

In questa era digitale, inviamo comunemente dati su Internet, soprattutto per la distribuzione dei dati. Quando abbiamo bisogno di inviare grandi quantità di dati, spesso dobbiamo inviarli tutti in una volta.

Pertanto, abbiamo bisogno di un modo per inviare più file, documenti o immagini all'interno di un singolo file. Non solo, ma abbiamo bisogno di un modo per fornire i dati in modo efficiente e senza impantanare la larghezza di banda nel processo. Pertanto, sono stati creati metodi per comprimere i dati prima di inviarli. Poiché i file compressi sono più piccoli, questi metodi ci consentono di inviare file più rapidamente. Le dimensioni ridotte consentono inoltre di risparmiare spazio sui dischi rigidi.

La compressione dei dati e Linux non sono certamente estranei. Se hai mai notato il .xyz alla fine di un pacchetto che hai installato da un repository Linux, hai visto un esempio di compressione dati Linux.

Sebbene siano disponibili diversi metodi di compressione dei dati, i più comuni in Linux sono:

  • File .zip
  • File .tar
  • File .tar.gz
  • File .tar.bz2

zip

Questo particolare metodo è probabilmente il più noto e il più comunemente utilizzato quando si tratta di archiviare o comprimere file oggi. Il fatto che sia accessibile su più piattaforme conferisce a questo metodo un vantaggio rispetto ad altri. Puoi accedere e aprire un file zip indipendentemente dal sistema operativo perché Linux, Windows® e MacOS® supportano tutti i file zip per impostazione predefinita.

L'esempio seguente mostra la sintassi di base per la compressione di un file con zip:

$ zip -r <name of the zip file>.zip <directory or file(s) you want to compress>

Puoi anche comprimere le directory. Gli esempi seguenti mostrano come creare un archivio zip con il file example.txt e un altro archivio zip con la directory, Immagini :

$ zip examples.zip example.txt
$ zip -r pictures.zip /home/user/Pictures/

Entrambi i comandi creano un .zip compresso file. Il -r l'opzione ti consente di includere ricorsivamente tutti i file e le sottodirectory all'interno delle Immagini directory nel file compresso. Anche se non hai bisogno di un interruttore corsivo per i singoli file, ne hai bisogno per una directory. Il -r si assicura di includere tutto ciò che si trova all'interno di quella directory nel .zip risultante file.

Puoi escludere alcuni dei file all'interno della directory che intendi archiviare. Supponi di voler comprimere le Immagini directory, ma vuoi includere solo file .jpg.

Dopo aver cambiato la directory in Immagini , inserisci il seguente comando:

$ zip -r pictures.zip ‘*.jpg’

Questo comando cerca Immagini , esclude tutti i file non jpg e comprime solo il file .jpg file in pictures.zip .Questo concetto funziona con qualsiasi formato di file (.txt, .doc e così via).

Se ricevi un file zippato (.zip ), usa il comando seguente per decomprimere il file in Linux:

$ unzip pictures.zip

Cosa succede se desideri decomprimere il file nella directory Immagini e ti trovi attualmente in una directory diversa?Usa il comando seguente:

$ unzip pictures.zip -d /home/user/Pictures

Tutti i file contenuti nel file zip vengono estratti nella directory di tua scelta quando aggiungi -doption. Altrimenti, unzip estrae i file nella directory corrente per impostazione predefinita.

tar

Nota: A differenza delle altre opzioni di archivio, tar il comando non comprime .tar File. tar raggruppa semplicemente i file in un unico file archiviato. Pertanto, se vedi un file che termina solo con '.tar', sai già che il processo di archiviazione non ha applicato alcuna compressione ai file contenuti in quell'archivio.

Il tar comando ha alcune opzioni in più rispetto al comando zip. Le opzioni più comunemente usate per il comando tar includono quanto segue:

  • -c :crea un nuovo .tar file di archivio
  • -v :mostra dettagliatamente il processo tar in modo da poter vedere tutti i passaggi del processo
  • -f :specifica il tipo di nome file del file di archivio
  • -x :estrae i file da un .tar esistente file

L'esempio seguente mostra la sintassi di base di tar comando per creare un archivio:

$ tar -cvf <name of archive file>.tar <directory to archive or files to archive>

Utilizza il comando seguente per archiviare le Immagini directory:

$ tar -cvf pictures.tar /home/user/Pictures

Per estrarre un file di archivio .tar preesistente, sostituisci -c con un -x , come mostrato nell'esempio seguente:

$ tar -xvf <name of archive file>.tar

Come nel caso di unzip comando, tar estrae il .tar contenuti nella posizione corrente, per impostazione predefinita. Per estrarre .tar contenuto del file da qualche altra parte, usa il seguente comando:

$ tar -xvf (name of archive file).tar -C /path/to/desired/directory/location/

tar.gz

Tar.gz files aggiungono compressione alla funzione di archivio del comando tar usando gzip funzione.

Devi aggiungere solo il -z opzione al tar di base comando per aggiungere compressione, come mostrato nell'esempio seguente:

$ tar -zcvf <archive name>.tar.gz /directory/you/want/to/compress
OR
$ tar -zcvf <archive name>.tar.gz ‘*.jpg’

Come con tar , usa "-c" per creare un archivio e "-x" per estrarlo, come mostrato nell'esempio seguente:

$ tar -zxvf <archive name>.tar.gz
OR
$ tar -zxvf <archive name>.tar.gz -C /path/to/desired/directory/

tar.bz2

Diciamo che hai una directory molto grande che vuoi comprimere il più possibile. Se tar.gz risulta in un file di dimensioni eccessive, prova invece a usare tar.bz2. Tieni presente che questa opzione richiede un po' più di tempo.

Questo metodo di archiviazione aggiunge solo una nuova opzione:-j , come mostrato nell'esempio seguente:

$ tar -jcvf <archive name>.tar.bz2 /directory/to/compress
OR
$ tar -jcvf <archive name>.tar.bz2 ‘*.jpg’

Ancora una volta, per estrarre un .tar.bz2 file, cambia il -c per -x , come mostrato nei seguenti esempi:

$ tar -jxvf <archive name>.tar.bz2
OR
$ tar -jxvf <archive name>.tar.bz2 -C /directory/to/extract/to/

Conclusione

Ora sai come utilizzare gli strumenti di compressione dei dati più comuni disponibili. Ogni opzione ha il suo posto.

  • Devi inviare un file compresso a qualcuno che utilizza un sistema operativo diverso dal tuo? Prova zip.
  • Vorresti archiviare alcuni file, ma non hai bisogno di comprimerli? Usa tar.
  • Forse hai bisogno di comprimere i file dopo tutto. Usa tar.gz.
  • Finalmente, se vuoi che quella directory venga ridotta il più possibile, hai .tar.bz2 a tua disposizione.

Con l'esperienza, ti sentirai a tuo agio con quale strumento si adatta meglio alle tue esigenze in qualsiasi momento.


Linux
  1. Come creare un file ZIP protetto da password in Linux

  2. Come archiviare file e directory in Linux [Parte 2]

  3. Come reindirizzare l'output su un file e Stdout in Linux

  4. File system supportati e consigliati su Linux

  5. Come creare un archivio zip compatibile con Linux di una directory su un Mac

Compressione file Linux:tutto ciò che devi sapere

File host Linux:come modificarlo e utilizzarlo?

Un'introduzione all'hashing e ai checksum in Linux

Come decomprimere un file zip in Linux [Tutorial per principianti]

Riduci le dimensioni dei file delle immagini in Linux:metodi CLI e GUI

Come comprimere un file in Linux