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...
Jeg bruger personligt 7zip
Du gik glip af 7zip. En meget god mulighed og GRATIS SOFTWARE.
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.