Alle hemmelighederne ved komprimering i GNU / Linux

Kompressionsrør

Vi vender tilbage til det sædvanlige problem, der bliver en fordel for mange avancerede GNU/Linux-brugere og det er det store antal af alternativer eller muligheder, der findes. Dette kan være et problem for de mest uerfarne, fordi de ikke ved, hvilken de skal vælge, men som jeg siger, er det aldrig en dårlig ting at have flere muligheder eller fleksibilitet, tværtimod. I dette tilfælde vil vi tale om komprimerings- og dekompressionsalgoritmer og -procedurer der findes på vores yndlingsplatform, så du kan se dem på en anden måde og ikke som et stort rod uden at vide, hvilken der er den bedste mulighed i dit tilfælde...

Sandheden er, at der ikke kun er værktøjer, som bruges som tjære, hvormed vi kan oprette pakker, der også kan tilføje en form for komprimering, som vi er vant til at se i de berømte tarballs som vi allerede har talt om LxA ved mange lejligheder. Vi vil også finde varianter af værktøjer så trivielle og hyppige som grep til at søge i komprimerede filer, som det er tilfældet med bzfgrep, eller endda andre såsom færre og flere, der også har deres varianter for komprimerede filer, såsom bzless og bzmore. For at se dem alle skal vi bare tage et kig på outputtet af følgende kommando:

apropos compress

Algoritmer og test:

Blandt alle algoritmer Tabsfri komprimering tilgængelig i Linux til at komprimere og dekomprimere data, vi har mange muligheder. For at få bevis for, hvor lang tid det tager at komprimere med en eller anden komprimeringsalgoritme, eller hvor lang tid det tager at dekomprimere den, foreslår jeg, at du selv tester noget. Du kan bruge tidskommandoen til det, som vil give dig den tid, det tager for komprimering og dekompression. For eksempel, hvis du vil bruge zip-værktøjet til at komprimere en fil kaldet test:

time zip prueba.zip prueba

Det ville returnere den brugte tid, men hvis du vil se størrelsen af ​​den genererede fil, kan du prøve at komprimere den samme fil med forskellige algoritmer og komprimeringsværktøjer, og når du har alle filerne komprimeret i en mappe med en simpel kommando til at liste og kontrollere størrelsen, som hver enkelt optager:

ls -l

Hvis du foretrækker det, kan du også bruge andre værktøjer til at sammenligne komprimerede filer, såsom nogle varianter af diff-værktøjet:

xzdiff [opciones] fichero1 fichero2

lzdiff [opciones] fichero 1 fichero2

Hvis du vil se grafer over algoritmernes størrelse og hastighed, kan du besøge dette andet link.

Kompressionsværktøjer:

Vedrørende de tilgængelige værktøjer vi har mange af dem, nogle med en grafisk grænseflade til nybegyndere, og at vi simpelthen bliver nødt til at håndtere en enkel og intuitiv GUI for at udføre kompressionerne og dekompressionerne, som det er tilfældet med PeaZip, eller 7zip osv. Specifikt er den første i stand til at arbejde med forskellige formater, specifikt mere end 180 af dem. Men hvis du er en af ​​dem, der stadig kan lide at arbejde med terminalen, så vil du have et stort antal værktøjer, som du sikkert kender:

  • zip og unzip: Det er en god mulighed, hvis det, du ønsker, er bærbare filer til andre operativsystemer, da du vil finde værktøjer til at arbejde med disse filer i Microsoft Windows-systemer og også i blandt andet macOS. For eksempel, for at zippe en fil eller et bibliotek med navnet test og derefter udpakke det:
zip prueba.zip prueba

unzip prueba.zip

  • gzip: er det bedste, hvis du bare vil have portabilitet mellem Unix/Linux-operativsystemer. Måske er komprimeringshastigheden næsten identisk med zip, måske minimalt bedre, men du vil ikke finde den store forskel i filstørrelser under zip eller gzip. For at komprimere og dekomprimere med dette værktøj kan vi bruge to muligheder i tilfælde af dekomprimering, og de er -do-indstillingen direkte ved at bruge gunzip-aliaset:
gzip prueba

gzip -d prueba.gz

gunzip prueba.gz

  • bzip2: Samme som den forrige er denne algoritme meget til stede i Unix/Linux-operativsystemer, selvom det vil tage lidt længere tid i komprimerings- og dekomprimeringsprocesserne end i tilfældet med gzip. I dette tilfælde vil forsinkelsen ikke udmønte sig i en højere komprimeringshastighed som i tilfældet med xz, da filerne komprimeret under bzip2 vil optage lidt mere end gzip-filerne. Derfor anbefales det at undgå bzip2 og i stedet vælge xz eller gzip. Selvom alt vil afhænge lidt af den type fil, du forsøger at komprimere... For eksempel:
bzip2 prueba

bzip2 -d prueba.bz2

  • xz: er det foretrukne format til store filstørrelser, da det giver de bedste komprimeringshastigheder, men det er også rigtigt, at det vil tage længere tid for en komprimering eller dekomprimering at fuldføre. Det er en del nyere end de tidligere, så du kan støde på mere primitive distros eller ældre Unix-systemer, der ikke har et værktøj til det. Eksempler:
xz prueba

xz -d prueba.xz

  • unrar og rar: Vi kan også arbejde med RAR-formater i Linux takket være disse værktøjer, selvom det ikke er så populært i tilfælde af *nix-systemer som de foregående... I dette tilfælde kan vi vælge:
rar a prueba.rar prueba

unrar e prueba.rar

  • komprimere og udkomprimere: og selvom brugen af ​​komprimering går tabt og ikke er så populær som de foregående, vil jeg heller ikke overse dette værktøj. Den bruges til at komprimere filer med en .Z-udvidelse, og den gør det takket være en modificeret Lempel-Ziv-algoritme. For eksempel:
compress -v prueba

uncompress prueba.Z

Hvis du vil arbejde direkte med tjæreværktøjet, vil du også være i stand til at pakke og komprimere filerne på samme tid samt udpakke og dekomprimere dem. I dette tilfælde kan vi videregive mulighederne for den type algoritme, der skal bruges direkte til at tjære. Men først og fremmest skal du vide, at med mulighed c opretter vi en pakke, og med mulighed x udpakker vi den. For eksempel:

tar czvf prueba.tar.gz prueba

tar xzvf prueba.tar.gz

Som du kan se har vi brugt mulighederne zvf, der skal angive typen af ​​komprimeringsalgoritme z (i dette tilfælde gzip), v for den verbose tilstand, der returnerer information om, hvad den gør, og f for at angive filen, der skal arbejdes med... Nå, hvis vi ændrer det z med et andet bogstav, der svarer til en anden type algoritme, kan vi ændre typen af ​​komprimering, der anvendes på tarballen:

Mulighed algoritme udvidelse
z gzip .tar.gz
j bzip2 .tar.bz2
J xz .tar.xz
zip zip .tar.lz
lzma lzma .tar.lzma

*Selvfølgelig har alle de tidligere kommandoer interessante muligheder, som jeg inviterer dig til at opdage ved hjælp af mennesket, nogle meget nødvendige såsom rekursion osv.

Glem ikke efterlad dine kommentarer...


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for data: AB Internet Networks 2008 SL
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Javier Martinez Echenique sagde han

    Jeg bruger personligt 7zip

  2.   Marcelo sagde han

    Du gik glip af 7zip. En meget god mulighed og GRATIS SOFTWARE.

  3.   Umberto sagde han

    Fremragende information, selvom jeg ville have startet med at sige, at det også kan komprimeres grafisk og dekomprimeres uden problemer, så man ikke kan se "hvepsen" på vagt, der siger, at GNU/Linux er meget svært, og alt skal gøres på konsollen. NEJ, DET ER EN ANDEN MULIGHED.