Kompresjon

Hvordan komprimere filer med zstd fra kommandolinjen eller bash-skriptet

Hvordan komprimere filer med zstd fra kommandolinjen eller bash-skriptet
I den moderne verden samhandler vi og jobber med data overalt og hver dag. Avhengig av behovene og dataene som krever behandling, lagring og datakraft kan raskt bli begrensede ressurser.

For å løse dette problemet utviklet utviklere komprimeringsalgoritmer og verktøy som er i stand til å komprimere data i sanntid, noe som reduserer størrelsen og prosessorkraften som kreves. Et av disse verktøyene er Zstandard, kjent som Zstd.

Zstd er en gratis, åpen kildekode, sanntids komprimeringsalgoritme utviklet av Yann Collect, en ansatt på Facebook. Zstd er veldig rask og tilbyr enestående kompresjonsforhold. Det er en tapsfri komprimeringsalgoritme skrevet i C, men har API-implementeringer på andre populære programmeringsspråk som Python, Java, C #, JavaScript og mange flere. Det gir også komprimerings- og dekompresjonsfunksjoner i minnet.

For å sjekke om Zstd støtter ønsket språk, sjekk ressursen nedenfor:

https: // facebook.github.io / zstd /

Hvis du ønsker å se på referanseinformasjon om Zstd, bruk lenken nedenfor:

https: // github.com / facebook / zstd

Denne opplæringen viser deg hvordan du kompilerer og installerer Zstd-verktøyet i Linux, og deretter bruker det til å utføre datakomprimering og dekompresjon.

Hvordan installere Zstd

For å bruke Zstd, må vi installere det ved å kompilere fra kildene. Avhengig av systemet du kjører og konfigurasjonen, kan det hende du må installere avhengigheter og verktøy for å kunne utføre kompileringen.

Start med å oppdatere systemet og installere GNU make ved hjelp av kommandoen:

sudo apt-get oppdatering
sudo apt-get oppgradering
sudo apt-get -y install build-essential wget tar

Når vi har installert alle verktøyene, kan vi laste ned kildefilene og kompilere dem. Start med å navigere der du har lest, skrevet og utført tillatelser. ~ / Desktop

cd ~ / Desktop

Deretter bruker du wget for å laste ned filene til katalogen.

wget https: // github.no / facebook / zstd / utgivelser / nedlasting / v1.4.9 / zstd-1.4.9.tjære.gz

Arkiver nå nedlastingsfilen og naviger inn i katalogen ved hjelp av kommandoene som:

tjære xvf zstd-1.4.9.tjære.gz
cd zstd-1.4.9

De siste trinnene er å installere Zstd ved å bruke make and make install i Zstd-katalogen.

sudo lage
sudo lage installasjon

Når kompileringen og installasjonen er fullført, kan du begynne å bruke Zstd på systemet ditt for å komprimere og dekomprimere filer.

Hvordan bruke Zstd

Zstd avviser ikke fra populære komprimerings- og dekompresjonsmetoder i det hele tatt. Selv om den underliggende teknologien og implementeringen er forskjellig fra andre verktøy, er komprimering av en fil med Zstd lik tjære- og gzip-syntaksen.

Hvordan komprimere en fil

For å komprimere en fil, ring zstd-kommandoen etterfulgt av -z-flagget, som forteller zstd å gjøre komprimeringen, og til slutt navnet på filen som skal komprimeres.

For eksempel komprimerer kommandoen nedenfor system-sikkerhetskopifilen til en .zst-fil.

$ sudo zstd -z system-backup

Kommandoutgangen som vist nedenfor:

system-backup: 100.00% (1821109 => 1821164 byte, systembackup.zst)
$ ls system-backup

Du bør se en fil med .zst utvidelse som:

system-backup.zst

Når kommandoen er utført, blir filen komprimert og oppretter et filnavn .zst-fil som du kan dekomprimere.

Komprimer og fjern kildefilen

Som du kan se fra kommandoen ovenfor, fjernes ikke kildefilen som standard ved komprimering. Du kan angi å fjerne kildefilene ved å bruke -rm-flagget:

$ sudo zstd -z --rm system-backup
system-backup: 100.00% (1821109 => 1821164 byte, system-backup.zst)
$ ls
system-backup.zst

Når du spesifiserer -rm-flagget, fjernes kildefilen automatisk.

Få filinformasjon

For å vise relatert informasjon om den komprimerte Zstd-filen, kan du bruke -l-flagget etterfulgt av filnavnet. Den viste informasjonen inkluderer filstørrelse, kompresjonsforhold og filkontrollsummen

$ zstd -lv system-backup.zst
*** zstd kommandolinjegrensesnitt 64-bits v1.4.9, av Yann Collet ***
system-backup.zst # Zstandard-rammer: 1
Vindusstørrelse: 1.74 MB (1821109 B)
Komprimert størrelse: 1.74 MB (1821164 B)
Dekomprimert størrelse: 1.74 MB (1821109 B)
Forhold: 1.0000
Sjekk: XXH64

Spesifiser kompresjonsnivået

For å eksplisitt spesifisere kompresjonsnivået, bruk - der nivået er en verdi fra 1 - 19. Standard kompresjonsnivå er 3. Du kan også låse opp høyere kompresjonsnivåer, dvs.e., nivå 20 - 22.

MERK: Jo høyere kompresjonsnivå, jo høyere minnebruk.

For eksempel, for å komprimere en fil med et kompresjonsnivå på 10, bruk kommandoen:

zstd -z -10 --rm system-backup

Spesifiser kompresjonshastighet.

Zstd lar deg også stille kompresjonshastigheten fra 1 til. Kompresjonshastigheten er omvendt proporsjonal med kompresjonsforholdet. Standard kompresjonshastighet er 1, og jo høyere verdi, jo raskere kompresjonshastighet.

For eksempel, for å bruke maksimal kompresjonshastighet, bruk kommandoen:

sudo zstd -z --fast = 10 system-backup

Spesifiser komprimeringsformat

Du kan også spesifisere kompresjonsformatet som skal brukes hvis du ikke liker standard zst-komprimering. Formater inkluderer zstd, gzip, xz, lzma og lz4.

Bruk -format-flagget og spesifiser formatet som:

zstd -z --format = gzip system-backup

Komprimere filliste

Anta at du har en liste over filer du vil komprimere samtidig. Zstd lar deg sende en fil som inneholder en liste over filer og komprimerer dem rekursivt.

For eksempel en filliste.txt som inneholder filene

/ home / user / mysql-backup
/ backup / config
/ hjem / Desktop / media
/ sync / 2021 / brukere

Når du har lagret filen, kan du sende listen til Zstd med alle andre alternativer å utføre på filene.

sudo zstd -z -v --rm --liste liste.tekst

Denne kommandoen komprimerer alle filene som er spesifisert i tekstfilen og fjerner dem etter fullføring.

Komprimere en fil

For å dekomprimere en fil, kan du bruke -d-flagget med zstd-kommandoen eller bare bruke unzstd-kommandoen til å dekomprimere.

For eksempel:

sudo unzstd system-backup.zst
sudo zstd -d system-backup.zst

Bekreft filintegriteten

For å teste integriteten til en zst komprimert fil, bruk -t flagget som vist i kommandoen nedenfor:

sudo zstd -t system-backup.zst

Konklusjon

Som vi kan se fra eksemplene, er Zstd en kraftig komprimeringsalgoritme med mange brukstilfeller. For å lære mer om hvordan det fungerer og implementeringen, kan du sjekke mannssiden og eksperimentere.

Takk for at du leste.

Topp 5 spillfangstkort
Vi har alle sett og elsket streaming av spill på YouTube. PewDiePie, Jakesepticye og Markiplier er bare noen av de beste spillerne som har tjent milli...
Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...