Tutti i segreti della compressione in GNU / Linux

Tubi di compressione

Torniamo al solito problema che diventa un vantaggio per molti utenti GNU / Linux avanzati ed è il gran numero di alternative o possibilità disponibili. Questo per i più inesperti può essere un problema quando non si sa bene quale scegliere, ma come ho detto, avere più possibilità o flessibilità non è mai una cosa negativa, anzi. In questo caso parleremo del file algoritmi e procedure di compressione e decompressione che esistono sulla nostra piattaforma preferita in modo che tu possa vederli in modo diverso e non come un grande casino non sapendo quale sia l'opzione migliore nel tuo caso ...

La verità è che non ci sono solo strumenti usati come tar con i quali possiamo creare pacchetti a cui possono anche essere aggiunti alcuni tipi di compressione come siamo abituati a vedere in i famosi tarball di cui abbiamo già parlato LxA in molte occasioni. Troveremo anche varianti di strumenti così banali e frequenti come grep per cercare all'interno di file compressi come bzfgrep, o anche altri come less and more che hanno anche le loro varianti per file compressi come bzless e bzmore. Per vederli tutti non ci resta che dare uno sguardo all'output del seguente comando:

apropos compress

Algoritmi e test:

Tra tutti algoritmi compressione senza perdite disponibile in Linux per comprimere e decomprimere i dati abbiamo molte opzioni. Per avere la prova del tempo necessario per comprimere con uno o un altro algoritmo di compressione o quanto tempo ci vuole per decomprimerlo, ti suggerisco di fare alcuni test da solo. Puoi usare il comando time per quello, che ti darà il tempo che è stato impiegato per il processo di compressione e decompressione. Ad esempio, se intendi utilizzare lo strumento zip per comprimere un file chiamato test:

time zip prueba.zip prueba

Ciò getterebbe via il tempo usato, ma se vuoi vedere la dimensione del file generatoPuoi provare a comprimere lo stesso file con diversi algoritmi e strumenti di compressione e una volta che hai tutti i file compressi in una directory con un semplice comando per elencare, controlla la dimensione di ciascuno:

ls -l

Se preferisci, puoi anche utilizzare altri strumenti per confrontare file compressi, ad esempio con alcune varianti dello strumento diff:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Se vuoi vedere grafici sulla dimensione e velocità degli algoritmi, puoi visitare questo altro collegamento.

Strumenti di compressione:

Per quanto riguarda gli strumenti disponibili ne abbiamo molti, alcuni con un'interfaccia grafica per i neofiti e che dovremo semplicemente occuparci di una GUI semplice e intuitiva per eseguire compressioni e decompressioni come PeaZip, o 7zip, ... ecc. Nello specifico, il primo è in grado di lavorare con vari formati, in particolare più di 180 di essi. Ma se sei uno di quelli a cui piace ancora lavorare con il terminale, allora avrai un gran numero di strumenti che sicuramente conosci:

  • zip e decomprimere: è una buona opzione se quello che vuoi sono file che siano portabili su altri sistemi operativi, poiché troverai strumenti per lavorare con questi file su sistemi Microsoft Windows e anche su macOS e altri. Ad esempio, per comprimere un file o una directory denominata test e quindi decomprimerlo:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: È il migliore se quello che vuoi è semplicemente la portabilità tra i sistemi operativi Unix / Linux. Forse il tasso di compressione è quasi identico a zip, forse leggermente migliore, ma non troverai molta differenza nelle dimensioni dei file sotto zip o gzip. Per comprimere e decomprimere con questo strumento possiamo usare due opzioni in caso di decompressione e sono l'opzione -do, utilizzando direttamente l'alias gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Come il precedente, questo algoritmo è molto presente nei sistemi operativi Unix / Linux, sebbene richiederà un po 'più di tempo nei processi di compressione e decompressione rispetto al caso di gzip. In questo caso, il ritardo non si tradurrà in un tasso di compressione più alto come nel caso di xz, poiché i file compressi sotto bzip2 occuperanno un po 'più di quelli gzip. Ecco perché si consiglia di evitare bzip2 e optare invece per xz o gzip. Anche se tutto dipenderà un po 'dal tipo di file che stai cercando di comprimere ... Ad esempio:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: È il formato preferito per file di grandi dimensioni, in quanto offre i migliori tassi di compressione, ma è anche vero che ci vorrà più tempo per completare una compressione o decompressione. È abbastanza più recente dei precedenti, quindi potresti trovarti con distribuzioni più primitive o vecchi sistemi Unix che non hanno uno strumento per questo. Esempi:
xz prueba

xz -d prueba.xz

  • unrar e rar: Possiamo anche lavorare con i formati RAR in Linux grazie a questi strumenti, sebbene non sia così popolare nel caso dei sistemi * nix come i precedenti ... In questo caso possiamo scegliere:
rar a prueba.rar prueba

unrar e prueba.rar

  • comprimere e decomprimere: e sebbene l'uso di compress si stia perdendo e non sia popolare come i precedenti, non vorrei trascurare neanche questo strumento. Viene utilizzato per comprimere file con estensione .Z e lo fa grazie a un algoritmo Lempel-Ziv modificato. Per esempio:
compress -v prueba

uncompress prueba.Z

Se vuoi lavorare direttamente con lo strumento tarPuoi anche comprimere e comprimere i file allo stesso tempo, nonché decomprimerli e decomprimerli. In questo caso possiamo passare le opzioni del tipo di algoritmo da utilizzare direttamente a tar. Ma prima di tutto dovresti sapere che con l'opzione c creiamo un pacchetto e con l'opzione x lo estraiamo. Per esempio:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Come puoi vedere abbiamo usato le opzioni zvf che indicano il tipo di algoritmo di compressione z (in questo caso gzip), v per la modalità dettagliata che fornisce informazioni su ciò che sta facendo, ef per indicare il file con cui lavorare ... Bene, se lo cambiamo z con un'altra lettera corrispondente a un altro tipo di algoritmo possiamo modificare il tipo di compressione applicato al tarball:

opzione Algoritmo Estensione
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
lzip chiusura .tar.z
lzma lzma .tar.lzma

* Ovviamente tutti i comandi precedenti hanno opzioni interessanti che ti invito a scoprire usando man, alcune molto necessarie come la ricorsione, ecc.

Non dimenticare lascia i tuoi commenti...


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Javier Martinez Echenique suddetto

    In particolare uso 7zip

  2.   Marcelo suddetto

    Ti sei perso 7zip. Un'ottima opzione e SOFTWARE GRATUITO.

  3.   Umberto suddetto

    Ottima informazione, anche se avrei iniziato dicendo che può essere anche compresso e decompresso graficamente senza alcun problema in modo da non vedere il "calabrone" del momento che dice che GNU / Linux è molto difficile e tutto deve essere fatto sulla console. NO, È UN'ALTRA OPZIONE.