For at løse dette problem udviklede udviklere kompressionsalgoritmer og værktøjer, der er i stand til at komprimere data i realtid, hvilket reducerer den krævede størrelse og processorkraft. Et af disse værktøjer er Zstandard, almindeligvis kendt som Zstd.
Zstd er en gratis, open source, realtids komprimeringsalgoritme udviklet af Yann Collect, en medarbejder hos Facebook. Zstd er meget hurtig og tilbyder enestående kompressionsforhold. Det er en tabsfri komprimeringsalgoritme skrevet i C, men har API-implementeringer på andre populære programmeringssprog som Python, Java, C #, JavaScript og mange flere. Det giver også komprimerings- og dekompressionsfunktioner i hukommelsen.
For at kontrollere, om Zstd understøtter dit ønskede sprog, skal du kontrollere ressourcen nedenfor:
https: // facebook.github.io / zstd /
Hvis du ønsker at se på benchmarkingoplysninger om Zstd, skal du bruge nedenstående link:
https: // github.com / facebook / zstd
Denne tutorial viser dig, hvordan du kompilerer og installerer Zstd-værktøjet i Linux, og derefter bruger det til at udføre datakomprimering og dekompression.
Sådan installeres Zstd
For at bruge Zstd skal vi installere det ved at kompilere fra kilderne. Afhængigt af det system, du kører og konfigurationen, skal du muligvis installere afhængigheder og værktøjer for at udføre kompileringen med succes.
Start med at opdatere dit system og installere GNU make ved hjælp af kommandoen:
sudo apt-get opdateringsudo apt-get opgradering
sudo apt-get -y installer essentiel wget-tjære
Når vi har alle værktøjerne installeret, kan vi downloade kildefilerne og kompilere dem. Start med at navigere, hvor du har læst, skrevet og udført tilladelser. ~ / Desktop
cd ~ / DesktopBrug derefter wget til at downloade filerne til biblioteket.
wget https: // github.com / facebook / zstd / udgivelser / download / v1.4.9 / zstd-1.4.9.tjære.gzArkiver nu downloadfilen og naviger ind i biblioteket ved hjælp af kommandoerne som:
tjære xvf zstd-1.4.9.tjære.gzcd zstd-1.4.9
De sidste trin er at installere Zstd ved hjælp af make and make installation inde i Zstd-biblioteket.
sudo makesudo gør installation
Når kompileringen og installationen er gennemført, kan du begynde at bruge Zstd på dit system til at komprimere og dekomprimere filer.
Sådan bruges Zstd
Zstd afviser slet ikke fra populære komprimerings- og dekompressionsmetoder. Selvom den underliggende teknologi og implementering er forskellig fra andre værktøjer, svarer komprimering af en fil med Zstd til tjære- og gzip-syntaks.
Sådan komprimeres en fil
For at komprimere en fil skal du kalde zstd-kommandoen efterfulgt af -z-flag, som fortæller zstd at udføre komprimeringen og til sidst navnet på den fil, der skal komprimeres.
For eksempel komprimerer kommandoen nedenfor system-backup-filen til en .zst-fil.
$ sudo zstd -z system-backupKommandooutputtet som vist nedenfor:
system-backup: 100.00% (1821109 => 1821164 bytes, system backup.zst)$ ls system-backup
Du skal se en fil med .zst udvidelse som:
system-backup.zstNår kommandoen er udført, komprimeres filen og opretter et filnavn .zst-fil, som du kan dekomprimere.
Komprimer og fjern kildefilen
Som du kan se fra ovenstående kommando, fjernes kildefilen ikke som standard ved komprimering. Du kan specificere at fjerne kildefilerne ved hjælp af -rm-flag:
$ sudo zstd -z --rm system-backupsystem-backup: 100.00% (1821109 => 1821164 bytes, system-backup.zst)
$ ls
system-backup.zst
Angivelse af -rm-flag fjerner automatisk kildefilen.
Få filoplysninger
For at få vist relaterede oplysninger om den komprimerede Zstd-fil kan du bruge -l-flag efterfulgt af filnavnet. De viste oplysninger inkluderer filstørrelse, kompressionsforhold og filkontrolsummen
$ zstd -lv system-backup.zst*** zstd kommandolinjegrænseflade 64-bit v1.4.9 af Yann Collet ***
system-backup.zst # Zstandard-rammer: 1
Vinduesstørrelse: 1.74 MB (1821109 B)
Komprimeret størrelse: 1.74 MB (1821164 B)
Dekomprimeret størrelse: 1.74 MB (1821109 B)
Forhold: 1.0000
Kontrol: XXH64
Angiv kompressionsniveauet
For eksplicit at specificere kompressionsniveauet skal du bruge - hvor niveauet er en værdi, der spænder fra 1 - 19. Standardkomprimeringsniveauet er 3. Du kan også låse op for højere kompressionsniveauer, dvs.e., niveau 20 - 22.
BEMÆRK: Jo højere komprimeringsniveau, jo højere hukommelsesforbrug.
For eksempel for at komprimere en fil med et komprimeringsniveau på 10 skal du bruge kommandoen:
zstd -z -10 --rm system-backupAngiv kompressionshastighed.
Zstd giver dig også mulighed for at indstille kompressionshastigheden fra 1 - til. Kompressionshastigheden er omvendt proportional med kompressionsforholdet. Standardkompressionshastigheden er 1, og jo højere værdien er, desto hurtigere er kompressionshastigheden.
For eksempel, for at bruge den maksimale komprimeringshastighed skal du bruge kommandoen:
sudo zstd -z --fast = 10 system-backupAngiv komprimeringsformat
Du kan også angive det komprimeringsformat, der skal bruges, hvis du ikke kan lide standard zst-komprimering. Formater inkluderer zstd, gzip, xz, lzma og lz4.
Brug -format-flag og angiv formatet som:
zstd -z --format = gzip system-backupKomprimer filliste
Antag at du har en liste over filer, du vil komprimere på én gang. Zstd giver dig mulighed for at sende en fil indeholdende en liste over filer og komprimere dem rekursivt.
For eksempel en filliste.txt, der indeholder filerne
/ home / user / mysql-backup/ sikkerhedskopier / konfiguration
/ hjem / Desktop / medier
/ sync / 2021 / brugere
Når du har gemt filen, kan du videregive listen til Zstd med alle andre muligheder for at udføre på filerne.
sudo zstd -z -v --rm - liste over listen.txtDenne kommando komprimerer alle de filer, der er specificeret i tekstfilen, og fjerner dem, når de er færdige.
Dekomprimere en fil
For at dekomprimere en fil kan du bruge -d-flag med zstd-kommandoen eller blot bruge kommandoen unzstd til at dekomprimere.
For eksempel:
sudo unzstd system-backup.zstsudo zstd -d system-backup.zst
Bekræft filintegritet
For at teste integriteten af en zst komprimeret fil skal du bruge -t-flag som vist i kommandoen nedenfor:
sudo zstd -t system-backup.zstKonklusion
Som vi kan se fra eksemplerne, er Zstd en kraftig komprimeringsalgoritme med mange brugssager. For at lære mere om, hvordan det fungerer og dets implementering, skal du kontrollere mandesiden og eksperimentere.
Tak for læsningen.