Alle geheimen van compressie in GNU / Linux

Compressiebuizen

We keren terug naar het gebruikelijke probleem dat voor velen een voordeel wordt geavanceerde GNU / Linux-gebruikers en het is het grote aantal beschikbare alternatieven of mogelijkheden. Dit kan een probleem zijn voor de meest onervaren mensen die niet weten welke ze moeten kiezen, maar zoals ik al zei, meer mogelijkheden of flexibiliteit hebben is nooit een slechte zaak, integendeel. In dit geval zullen we praten over de algoritmen en procedures voor compressie en decompressie die op ons favoriete platform staan, zodat je ze anders kunt zien en niet als een grote puinhoop door niet te weten wat in jouw geval de beste optie is ...

De waarheid is dat er niet alleen tools zijn die als tar worden gebruikt, waarmee we pakketten kunnen maken waaraan ook een soort compressie kan worden toegevoegd, zoals we gewend zijn te zien in de beroemde tarballs waarover we al hebben gesproken LxA bij vele gelegenheden​ We zullen ook varianten vinden van zulke triviale en veel voorkomende tools zoals grep om te zoeken in gecomprimeerde bestanden zoals bzfgrep, of zelfs andere zoals less and more die ook hun varianten hebben voor gecomprimeerde bestanden zoals bzless en bzmore. Om ze allemaal te zien, hoeven we alleen maar naar de uitvoer van het volgende commando te kijken:

apropos compress

Algoritmen en tests:

Onder alle algoritmen lossless compressie beschikbaar in Linux om gegevens te comprimeren en decomprimeren, we hebben veel opties. Om bewijs te krijgen van de tijd die nodig is om te comprimeren met een of ander compressie-algoritme of hoe lang het duurt om het te decomprimeren, raad ik je aan om zelf een aantal tests uit te voeren. U kunt daarvoor het tijdcommando gebruiken, waarmee u de tijd krijgt die is genomen voor het compressie- en decompressieproces. Als u bijvoorbeeld de zip-tool gaat gebruiken om een ​​bestand met de naam test te comprimeren:

time zip prueba.zip prueba

Dat zou de gebruikte tijd weggooien, maar als je het wilt zien de grootte van het gegenereerde bestandU kunt proberen hetzelfde bestand te comprimeren met verschillende algoritmen en compressietools en als u eenmaal alle gecomprimeerde bestanden in een map heeft staan ​​met een eenvoudige opdracht om weer te geven, controleert u de grootte van elk bestand:

ls -l

Als je wilt, kun je ook andere tools gebruiken om gecomprimeerde bestanden te vergelijken, bijvoorbeeld met enkele varianten van de diff-tool:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Als je grafieken wilt zien over de grootte en snelheid van de algoritmen, kun je terecht op deze andere link.

Compressie tools:

Wat betreft de de beschikbare tools we hebben er veel, sommige met een grafische interface voor nieuwkomers en dat we gewoon te maken zullen hebben met een eenvoudige en intuïtieve GUI om compressies en decompressies uit te voeren, zoals PeaZip of 7zip, ... enz. Concreet is de eerste in staat om met verschillende formaten te werken, met name meer dan 180 daarvan. Maar als u een van degenen bent die nog steeds graag met de terminal werkt, dan heeft u een groot aantal tools die u zeker kent:

  • zip en unzip: het is een goede optie als u bestanden wilt die overdraagbaar zijn naar andere besturingssystemen, aangezien u tools zult vinden om met deze bestanden te werken op Microsoft Windows-systemen en ook op macOS en andere. Om bijvoorbeeld een bestand of map met de naam test te comprimeren en vervolgens uit te pakken:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: Het is het beste als u draagbaarheid wilt, gewoon tussen Unix / Linux-besturingssystemen. Misschien is de compressieverhouding bijna identiek aan zip, misschien iets beter, maar je zult niet veel verschil in bestandsgrootte vinden onder zip of gzip. Om met deze tool te comprimeren en te decomprimeren, kunnen we twee opties gebruiken in het geval van decompressie en dit is de optie -do, direct met behulp van de alias gunzip:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Net als het vorige is dit algoritme erg aanwezig in Unix / Linux-besturingssystemen, hoewel het bij de compressie- en decompressieprocessen iets langer zal duren dan in het geval van gzip. In dit geval vertaalt de vertraging zich niet in een hogere compressiesnelheid zoals in het geval van xz, aangezien de bestanden die onder bzip2 zijn gecomprimeerd iets meer zullen innemen dan de gzip-bestanden. Daarom wordt aanbevolen om bzip2 te vermijden en in plaats daarvan voor xz of gzip te kiezen. Hoewel alles een beetje afhangt van het type bestand dat u probeert te comprimeren ... Bijvoorbeeld:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: Het is het formaat dat de voorkeur heeft voor grote bestanden, omdat het de beste compressiesnelheden biedt, maar het is ook waar dat het langer duurt om een ​​compressie of decompressie te voltooien. Het is vrij nieuwer dan de vorige, dus misschien heb je meer primitieve distributies of oude Unix-systemen die er geen tool voor hebben. Voorbeelden:
xz prueba

xz -d prueba.xz

  • unrar en rar: We kunnen dankzij deze tools ook werken met RAR-formaten in Linux, hoewel het niet zo populair is in het geval van * nix-systemen als de vorige ... In dit geval kunnen we kiezen:
rar a prueba.rar prueba

unrar e prueba.rar

  • comprimeren en decomprimeren: en hoewel het gebruik van compress verloren gaat en niet zo populair is als de vorige, zou ik deze tool ook niet over het hoofd willen zien. Het wordt gebruikt om bestanden met een .Z-extensie te comprimeren en doet dit dankzij een aangepast Lempel-Ziv-algoritme. Bijvoorbeeld:
compress -v prueba

uncompress prueba.Z

Als je direct wilt werken met de teer toolU kunt de bestanden ook tegelijkertijd inpakken en comprimeren, en ze uitpakken en decomprimeren. In dit geval kunnen we de opties van het type algoritme dat we direct gebruiken doorgeven aan tar. Maar allereerst moet u weten dat we met optie c een pakket maken en met optie x extraheren. Bijvoorbeeld:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Zoals je kunt zien hebben we gebruikt de opties zvf die het type compressie-algoritme z (in dit geval gzip), v voor de uitgebreide modus die informatie geeft over wat het doet aangeven, en f om het bestand aan te duiden om mee te werken ... Nou, als we dat veranderen z door een andere letter die overeenkomt met een ander type algoritme, kunnen we het type compressie dat op de tarball wordt toegepast, wijzigen:

Keuze algoritme uitbreiding
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
zip ritssluiting .tar.lz
lzma lzma .tar.lzma

* Natuurlijk hebben alle voorgaande commando's interessante opties die ik je uitnodig om te ontdekken met behulp van man, enkele zeer noodzakelijke zoals recursie, enz.

Vergeet niet laat uw opmerkingen achter...


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   Javier Martinez Echenique zei

    Ik gebruik in het bijzonder 7zip

  2.   Marcelo zei

    Je hebt de 7zip gemist. Een zeer goede optie en GRATIS SOFTWARE.

  3.   Umberto zei

    Uitstekende informatie, hoewel ik zou zijn begonnen met te zeggen dat het ook zonder enig probleem grafisch kan worden gecomprimeerd en gedecomprimeerd, zodat je niet de "horzel" van het moment ziet die zegt dat GNU / Linux erg moeilijk is en dat alles moet worden gedaan op de console. NEE, HET IS EEN ANDERE OPTIE.