För att lösa detta problem utvecklade utvecklare kompressionsalgoritmer och verktyg som kan komprimera data i realtid, vilket minskar storleken och den processkraft som krävs. Ett av dessa verktyg är Zstandard, allmänt känt som Zstd.
Zstd är en gratis, öppen källkod, realtids komprimeringsalgoritm utvecklad av Yann Collect, en anställd på Facebook. Zstd är mycket snabb och erbjuder enastående kompressionsförhållanden. Det är en förlustfri komprimeringsalgoritm skriven i C men har API-implementeringar på andra populära programmeringsspråk som Python, Java, C #, JavaScript och många fler. Det ger också komprimerings- och dekompressionsfunktioner i minnet.
För att kontrollera om Zstd stöder önskat språk, kontrollera resursen nedan:
https: // facebook.github.io / zstd /
Om du vill titta på benchmarkinginformation om Zstd, använd länken nedan:
https: // github.com / facebook / zstd
Denna handledning visar hur du kompilerar och installerar Zstd-verktyget i Linux och använder det sedan för att utföra datakomprimering och dekompression.
Hur man installerar Zstd
För att använda Zstd måste vi installera det genom att kompilera från källorna. Beroende på vilket system du kör och konfigurationen kan du behöva installera beroenden och verktyg för att utföra kompileringen.
Börja med att uppdatera ditt system och installera GNU make med kommandot:
sudo apt-get-uppdateringsudo apt-get uppgradering
sudo apt-get -y install build-essential wget tar
När vi har installerat alla verktyg kan vi ladda ner källfilerna och kompilera dem. Börja med att navigera där du har läst, skriv och kör behörigheter. ~ / Desktop
cd ~ / DesktopAnvänd sedan wget för att ladda ner filerna till katalogen.
wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.tjära.gzArkivera nu nedladdningsfilen och navigera in i katalogen med kommandona som:
tjära xvf zstd-1.4.9.tjära.gzcd zstd-1.4.9
De sista stegen är att installera Zstd med hjälp av make och make installation i Zstd-katalogen.
sudo makesudo gör installation
När kompileringen och installationen är klar kan du börja använda Zstd på ditt system för att komprimera och dekomprimera filer.
Hur man använder Zstd
Zstd avstår inte från populära komprimerings- och dekompressionsmetoder alls. Även om den underliggande tekniken och implementeringen skiljer sig från andra verktyg, liknar komprimering av en fil med Zstd syntax för tjära och gzip.
Hur man komprimerar en fil
För att komprimera en fil, ring kommandot zstd följt av -z-flaggan, som säger till zstd att göra komprimeringen och slutligen namnet på filen som ska komprimeras.
Till exempel komprimerar kommandot nedan systembackupfilen till en .zst-fil.
$ sudo zstd -z system-backupKommandoutgången som visas nedan:
systembackup: 100.00% (1821109 => 1821164 byte, systembackup.zst)$ ls system-backup
Du bör se en fil med .zst förlängning som:
system-backup.zstNär kommandot har körts komprimeras filen och skapar ett filnamn .zst-fil som du kan dekomprimera.
Komprimera och ta bort källfilen
Som du kan se från ovanstående kommando tas källfilen inte bort som standard vid komprimering. Du kan ange att källfiler ska tas bort med -rm-flaggan:
$ sudo zstd -z --rm system-backupsystembackup: 100.00% (1821109 => 1821164 byte, systembackup.zst)
$ ls
system-backup.zst
Om du anger -rm-flaggan tas källfilen automatiskt bort.
Få filinformation
För att visa relaterad information om den komprimerade Zstd-filen kan du använda -l-flaggan följt av filnamnet. Den visade informationen inkluderar filstorlek, kompressionsförhållande och filkontrollsumman
$ zstd -lv system-backup.zst*** zstd kommandoradsgränssnitt 64-bitars v1.4.9, av Yann Collet ***
system-backup.zst # Zstandard-ramar: 1
Fönsterstorlek: 1.74 MB (1821109 B)
Komprimerad storlek: 1.74 MB (1821164 B)
Dekomprimerad storlek: 1.74 MB (1821109 B)
Förhållande: 1.0000
Kontroll: XXH64
Ange kompressionsnivå
För att uttryckligen specificera komprimeringsnivån använder du - där nivån är ett värde från 1 - 19. Standardkomprimeringsnivån är 3. Du kan också låsa upp högre kompressionsnivåer, dvs.e., nivå 20 - 22.
NOTERA: Ju högre kompressionsnivå, desto högre minnesanvändning.
För att till exempel komprimera en fil med en komprimeringsnivå på 10, använd kommandot:
zstd -z -10 --rm system-backupAnge kompressionshastighet.
Zstd låter dig också ställa in kompressionshastigheten från 1 - till. Kompressionshastigheten är omvänt proportionell mot kompressionsförhållandet. Standardkompressionshastigheten är 1 och ju högre värde desto snabbare kompressionshastighet.
För att till exempel använda maximal komprimeringshastighet, använd kommandot:
sudo zstd -z --fast = 10 system-backupAnge kompressionsformat
Du kan också ange komprimeringsformatet som ska användas om du inte gillar standard zst-komprimering. Formaten inkluderar zstd, gzip, xz, lzma och lz4.
Använd -format-flaggan och ange formatet som:
zstd -z --format = gzip-systembackupKomprimera fillistan
Antag att du har en lista med filer som du vill komprimera på en gång. Med Zstd kan du skicka en fil som innehåller en lista med filer och komprimera dem rekursivt.
Till exempel en fillista.txt som innehåller filerna
/ home / user / mysql-backup/ backup / config
/ hem / Skrivbord / media
/ sync / 2021 / användare
När du har sparat filen kan du skicka listan till Zstd med alla andra alternativ att utföra på filerna.
sudo zstd -z -v --rm --lista listan.TextDetta kommando komprimerar alla filer som anges i textfilen och tar bort dem när de är färdiga.
Komprimera en fil
För att dekomprimera en fil kan du använda flaggan -d med kommandot zstd eller helt enkelt använda kommandot unzstd för att dekomprimera.
Till exempel:
sudo unzstd system-backup.zstsudo zstd -d system-backup.zst
Verifiera filens integritet
För att testa integriteten för en komprimerad zst-fil, använd flaggan -t som visas i kommandot nedan:
sudo zstd -t system-backup.zstSlutsats
Som vi kan se från exemplen är Zstd en kraftfull komprimeringsalgoritm med många användningsfall. För att lära dig mer om hur det fungerar och dess implementering, kolla man-sidan och experimentera.
Tack för att du läser.