En generisk Linux -distro tilbyr tilgang til en håndfull virkelig nyttige og enkle kompresjonsmekanismer. Denne artikkelen vil bare fokusere på dem.
Komprimeringstyper
Komprimering er koding og representerer informasjon ved bruk av færre biter enn den opprinnelig var. Når det. På grunn av hvordan forskjellig komprimering fungerer og den tilfeldige naturen til filer, kan kjørelengden variere veldig.
Det er to typer komprimering.
Linux komprimering
Flertallet av kompresjonsmetodene er tilgjengelige fra verktøyet tjære. Når det gjelder "zip" -kompresjonen, bruker vi glidelås verktøy. Forutsatt at systemet ditt allerede har disse verktøyene installert, la oss komme i gang.
Til å begynne med trenger vi en testfil. Kjør følgende kommando for å opprette en.
$ base64 /dev /urandom | Head -C 20000000> Fil.tekst
Den oppretter en tekstfil med 20 MB -størrelse.
La oss nå lage 10 eksemplarer av filen. Sammen er det 200 MB.
ZIP for komprimering
Zip er ganske vanlig. For å lage en zip -fil, krever zip -verktøyet følgende kommandostruktur.
$ zip
For å komprimere alle filene under testkatalogen i en enkelt zip -fil, kjør denne kommandoen.
$ ZIP -test.glidelås *
Inngangsstørrelsen var 200 MB. Etter komprimering er det nå 152 MB!
Som standard vil zip -verktøyet bruke deflate komprimeringen. Imidlertid er det også i stand til å bruke BZIP2 -komprimering. Ikke bare det, du kan også lage passordbeskyttede zip-filer! Lær mer om zip.
Tjære for komprimering på linux
Tjære er ikke en kompresjonsmetode. I stedet brukes det oftest til å lage arkiver. Imidlertid kan det implementere en rekke populære kompresjonsmetoder til arkivet.
For håndtering av tjære (også kjent som "tarball") arkiv, er det tjæreverktøyet. Lær mer om tjære. Generelt bruker tjæreverktøyet følgende kommandostruktur.
$ tar
For å legge til testfilene i et enkelt tjærearkiv, kjør følgende kommando.
$ tar -cvf test.tjære *
Her forblir filstørrelsen den samme.
Gzip for komprimering på Linux
GNU Zip eller Gzip er en annen populær kompresjonsmetode som etter min mening er bedre enn den tradisjonelle glidelåsen på grunn av dens bedre komprimering. Det er et open source-produkt laget av Mark Adler og Jean-Loup Gailly som opprinnelig var bestemt til å erstatte UNIX komprimere nytte.
For å administrere GZIP -arkiver er det to verktøy tilgjengelig: TAR og GZIP. La oss sjekke ut begge.
Først Gzip -verktøyet. Slik ser GZIP -kommandostrukturen ut.
$ gzip
For eksempel vil følgende kommando erstatte test1.txt med test1.tekst.GZ komprimert fil.
$ gzip -v test1.tekst
Hvis du vil komprimere en hel katalog ved hjelp av Gzip, kjør denne kommandoen. Her er "-r" -flagget for "rekursiv" komprimering. Gzip vil gå gjennom alle mappene og komprimere den enkelte filen (e) i hver av dem.
$ gzip -r
GZIP støtter forskjellige kompresjonsstyrkeverdier, fra 1 (minst komprimering, raskest) til 9 (beste komprimering, tregeste).
$ gzip -v -9
For bedre kontroll over produksjonen og brukervennligheten er TAR bedre for oppgaven. Kjør følgende kommando.
$ tar -cvzf test.tjære.gz *
Resultatet ligner på zip ved bruk av Deflate, noe som resulterer i 152 MB etter komprimering.
BZIP2 for komprimering på Linux
BZIP2 er et gratis og åpen kildekodeverktøy som bruker Burrows-Wheeler-algoritmen for komprimering. Først introdusert tilbake i 1996, brukes BZIP2 sterkt som et alternativ til Gzip -komprimeringen.
Som Gzip, er det to verktøy å jobbe med BZIP2: TAR og BZIP2.
BZIP2 -verktøyet fungerer som GZIP -verktøyet. Det kan bare fungere med bare en enkelt fil om gangen. Her er kommandostrukturen.
$ BZIP2
La oss komprimere testen1.txt -fil. Her er "-v" -flagget for ordentlig modus.
$ bzip2 -v test1.tekst
I likhet med GZIP støtter BZIP2 også forskjellige komprimeringsnivåer, fra 1 (standard, mindre minnebruk) til 9 (ekstrem komprimering, bruk av høyt minne).
$ bzip2 -v -9
Den bedre måten å bruke BZIP2 -komprimering er ved å bruke tjære. Bruk følgende kommando.
$ tar -cvjf test.tjære.BZ2 *
Komprimeringen er litt forbedret enn de forrige. Nå har filstørrelsen krympet til 151.7 MB.
XZ for komprimering på Linux
Det er en relativ nykommer innen komprimeringsfeltet. Først utgitt i 2009, har den sett en jevn vekst av bruken siden den gang.
XZ -komprimeringsverktøyet bruker LZMA2 -algoritmen som er kjent for større kompresjonsforhold sammenlignet med Gzip og BZIP2, noe som gjør det til et godt valg når du vil spare den maksimale mengden diskplass. Dette kommer imidlertid med kostnadene for høyere minnekrav og tidsforbruk.
Filen opprettet av XZ -komprimeringsverktøyet har utvidelsen .xz. For å komprimere en enkelt fil, kan du direkte ringe XZ -verktøyet.
$ xz
Kjør for eksempel følgende kommando for å komprimere test1.txt -fil.
$ xz -v test1.tekst
I likhet med andre nevnte kompresjonsmetoder, støtter XZ også forskjellige kompresjonsstyrke, fra 1 (laveste komprimering, raskest) til 9 (beste komprimering, tregeste). Hvis du ikke har hensyn til tid og bare vil spare plass, så gå til det ekstreme.
$ xz -v -9
For å opprette en komprimert XZ -fil fra alle testfilene, kjør denne kommandoen.
$ tar -cvjf test.tjære.XZ *
Her er utgangsfilstørrelsen 153.7 MB.
Trekke ut komprimerte arkiver
Å trekke ut arkivene vi opprettet er enklere enn å lage dem. For å trekke ut en zip -fil, bruk følgende kommandostruktur.
$ Unzip.Zip -D
For å trekke ut zip -arkivet vi opprettet, kjør denne kommandoen. Dette vil hente ut alt innholdet i samme katalog.
$ Unzip -test.glidelås
For å trekke ut tjære, tjære.GZ, TAR.BZ2 og Tar.XZ -arkiver, vi må bruke tjære verktøy. Følgende tjærekommando er aktuelt for å trekke ut dem alle.
$ tar -xvf
La oss for eksempel trekke ut alle filene fra BZ2 -komprimert arkiv.
$ tar -xvf test.tjære.BZ2
Å dekomprimere en gzip (ikke tjære.gz) fil, kjør denne kommandoen.
$ gzip -d
Tilsvarende vil følgende kommando dekomprimere BZIP2 Archive.
$ bzip2 -d
Samme kommandostruktur gjelder for XZ Archive.
$ xz -d
Siste tanker
Forhåpentligvis har du nok kunnskap nok til å håndtere kompresjonsoppgavene under forskjellige omstendigheter. Avhengig av det spesifikke kravet, tilbyr alle kompresjonsmetodene veldig attraktive funksjoner.
En viktig ting å merke seg er at komprimeringsresultatet vil ikke være det samme hele tiden. Med forskjellige datainndata vil utgangen være forskjellig. I noen tilfeller kan XZ for eksempel tilby sinnssyke kompresjonsresultat, mens det i dette eksemplet gjorde det ikke. Det samme gjelder andre metoder.
For å lære mer dyptgående om disse verktøyene, sjekk ut deres respektive mannside.
$ mann zip