Kompression

Hur man komprimerar filer med zstd från kommandoraden eller bash-skriptet

Hur man komprimerar filer med zstd från kommandoraden eller bash-skriptet
I den moderna världen interagerar vi och arbetar med data överallt och varje dag. Beroende på behoven och de data som kräver bearbetning, lagring och datorkraft kan snabbt bli begränsade resurser.

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-uppdatering
sudo 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 ~ / Desktop

Anvä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.gz

Arkivera nu nedladdningsfilen och navigera in i katalogen med kommandona som:

tjära xvf zstd-1.4.9.tjära.gz
cd zstd-1.4.9

De sista stegen är att installera Zstd med hjälp av make och make installation i Zstd-katalogen.

sudo make
sudo 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-backup

Kommandoutgå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.zst

Nä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-backup
systembackup: 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-backup

Ange 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-backup

Ange 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-systembackup

Komprimera 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.Text

Detta 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.zst
sudo 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.zst

Slutsats

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.

Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...
Installera det senaste OpenRA-strategispelet på Ubuntu Linux
OpenRA är en Libre / Free Real Time Strategy-spelmotor som återskapar de tidiga Westwood-spelen som det klassiska Command & Conquer: Red Alert. Distri...
Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...