Compressie

Bestanden comprimeren met zstd vanaf de opdrachtregel of bash-script

Bestanden comprimeren met zstd vanaf de opdrachtregel of bash-script
In de moderne wereld communiceren en werken we overal en elke dag met gegevens. Afhankelijk van de behoeften en de gegevens die verwerking, opslag en rekenkracht vereisen, kunnen snel beperkte bronnen worden.

Om dit probleem op te lossen, hebben ontwikkelaars compressie-algoritmen en -hulpmiddelen ontwikkeld die gegevens in realtime kunnen comprimeren, waardoor de vereiste grootte en verwerkingskracht worden verminderd. Een van deze tools is Zstandard, algemeen bekend als Zstd.

Zstd is een gratis, open-source, realtime compressie-algoritme ontwikkeld door Yann Collect, een medewerker van Facebook. Zstd is erg snel en biedt uitstekende compressieverhoudingen. Het is een lossless compressie-algoritme geschreven in C, maar heeft API-implementaties in andere populaire programmeertalen zoals Python, Java, C#, JavaScript en nog veel meer. Het biedt ook compressie- en decompressiefuncties in het geheugen.

Raadpleeg de onderstaande bron om te controleren of Zstd de door u gewenste taal ondersteunt:

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

Als u benchmarking-informatie over Zstd wilt bekijken, gebruikt u de onderstaande link:

https://github.com/facebook/zstd

Deze tutorial laat je zien hoe je de Zstd-tool in Linux compileert en installeert, en deze vervolgens gebruikt om datacompressie en decompressie uit te voeren.

Hoe Zstd te installeren

Om Zstd te gebruiken, moeten we het installeren door te compileren vanuit de bronnen. Afhankelijk van het systeem dat u gebruikt en de configuratie, moet u mogelijk afhankelijkheden en hulpprogramma's installeren om de compilatie met succes uit te voeren.

Begin met het updaten van je systeem en het installeren van GNU make met behulp van de opdracht:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install build-essentiële wget tar

Zodra we alle tools hebben geïnstalleerd, kunnen we de bronbestanden downloaden en compileren. Begin door te navigeren waar u lees-, schrijf- en uitvoeringsmachtigingen hebt. ~/Bureaublad

cd ~/Bureaublad

Gebruik vervolgens wget om de bestanden naar de map te downloaden.

wget https://github.com/facebook/zstd/releases/download/v1.4.9/zstd-1.4.9.teer.gz

Haal het downloadbestand nu uit het archief en navigeer naar de map met behulp van de opdrachten als:

tar xvf zstd-1.4.9.teer.gz
cd zstd-1.4.9

De laatste stappen zijn om Zstd te installeren met behulp van make en make install in de Zstd-map.

sudo maken
sudo make install

Zodra de compilatie en installatie met succes zijn voltooid, kunt u Zstd op uw systeem gaan gebruiken om bestanden te comprimeren en te decomprimeren.

Hoe Zstd . te gebruiken

Zstd wijkt helemaal niet af van populaire compressie- en decompressiemethoden. Hoewel de onderliggende technologie en implementatie verschillen van andere tools, is het comprimeren van een bestand met Zstd vergelijkbaar met de tar- en gzip-syntaxis.

Een bestand comprimeren

Om een ​​bestand te comprimeren, roept u de opdracht zstd aan, gevolgd door de vlag -z, die zstd vertelt om de compressie uit te voeren, en tot slot de naam van het bestand dat moet worden gecomprimeerd.

De onderstaande opdracht comprimeert bijvoorbeeld het systeemback-upbestand in a .zst-bestand.

$ sudo zstd -z systeemback-up

De opdrachtuitvoer zoals hieronder weergegeven:

systeem-back-up: 100.00% (1821109 => 1821164 bytes, systeemback-up.zst)
$ ls systeemback-up

Je zou een bestand moeten zien met .zst-extensie als:

systeem-back-up.zst

Zodra de opdracht is uitgevoerd, wordt het bestand gecomprimeerd en wordt een bestandsnaam gemaakt .zst-bestand dat u kunt decomprimeren.

Comprimeer en verwijder het bronbestand

Zoals je kunt zien aan de bovenstaande opdracht, wordt het bronbestand niet standaard verwijderd bij compressie. U kunt opgeven om de bronbestanden te verwijderen door de vlag -rm te gebruiken:

$ sudo zstd -z --rm systeemback-up
systeem-back-up: 100.00% (1821109 => 1821164 bytes, systeemback-up.zst)
$ ls
systeem-back-up.zst

Als u de vlag -rm opgeeft, wordt het bronbestand automatisch verwijderd.

Bestandsinfo ophalen

Om gerelateerde informatie over het gecomprimeerde Zstd-bestand weer te geven, kunt u de vlag -l gebruiken gevolgd door de bestandsnaam. De weergegeven informatie omvat de bestandsgrootte, compressieverhouding en de bestandscontrolesom

$ zstd -lv systeemback-up.zst
*** zstd opdrachtregelinterface 64-bits v1.4.9, door Yann Collet ***
systeem-back-up.zst # Zstandaard Frames: 1
Venstergrootte: 1.74 MB (1821109 B)
Gecomprimeerde grootte: 1.74 MB (1821164 B)
Gedecomprimeerde grootte: 1.74 MB (1821109 B)
Verhouding: 1.0000
Controleer: XXH64

Specificeer het compressieniveau

Om het compressieniveau expliciet te specificeren, gebruikt u de - waarbij het niveau een waarde is tussen 1 - 19. Het standaard compressieniveau is 3. U kunt ook hogere compressieniveaus ontgrendelen, i.e., niveau 20 - 22.

OPMERKING: Hoe hoger het compressieniveau, hoe meer geheugengebruik.

Om bijvoorbeeld een bestand met een compressieniveau van 10 te comprimeren, gebruikt u de opdracht:

zstd -z -10 --rm systeem-backup

Specificeer compressiesnelheid.

Met Zstd kunt u ook de compressiesnelheid instellen van 1 - tot. De compressiesnelheid is omgekeerd evenredig met de compressieverhouding. De standaard compressiesnelheid is 1, en hoe hoger de waarde, hoe sneller de compressiesnelheid.

Om bijvoorbeeld de maximale compressiesnelheid te gebruiken, gebruikt u de opdracht:

sudo zstd -z --fast=10 systeemback-up

Compressie-indeling opgeven

U kunt ook het te gebruiken compressieformaat specificeren als u niet van de standaard zst-compressie houdt. Formaten zijn onder meer zstd, gzip, xz, lzma en lz4.

Gebruik de vlag -format en geef het formaat op als:

zstd -z --format=gzip systeemback-up

Bestandslijst comprimeren

Stel dat je een lijst hebt met bestanden die je in één keer wilt comprimeren. Met Zstd kunt u een bestand met een lijst met bestanden doorgeven en recursief comprimeren.

Bijvoorbeeld een bestandenlijst.txt met de bestanden

/home/gebruiker/mysql-back-up
/back-ups/config
/home/Desktop/media
/sync/2021/gebruikers

Nadat u het bestand hebt opgeslagen, kunt u de lijst doorgeven aan Zstd met alle andere opties om op de bestanden uit te voeren.

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

Deze opdracht comprimeert alle bestanden die in het tekstbestand zijn gespecificeerd en verwijdert ze na voltooiing.

Een bestand decomprimeren

Om een ​​bestand te decomprimeren, kunt u de vlag -d gebruiken met de opdracht zstd of gewoon de opdracht unzstd gebruiken om te decomprimeren.

Bijvoorbeeld:

sudo unzstd systeemback-up.zst
sudo zstd -d systeemback-up.zst

Bestandsintegriteit verifiëren

Om de integriteit van een gecomprimeerd zst-bestand te testen, gebruikt u de vlag -t zoals weergegeven in de onderstaande opdracht:

sudo zstd -t systeem-backup.zst

Conclusie

Zoals we aan de voorbeelden kunnen zien, is Zstd een krachtig compressie-algoritme met talloze gebruiksscenario's. Voor meer informatie over hoe het werkt en de implementatie ervan, bekijk de man-pagina en experimenteer.

Bedankt voor het lezen.

Open source-poorten van commerciële game-engines
Gratis, open source en platformonafhankelijke game-engine-recreaties kunnen worden gebruikt om zowel oude als enkele van de vrij recente gametitels te...
Beste opdrachtregelspellen voor Linux
De opdrachtregel is niet alleen je grootste bondgenoot bij het gebruik van Linux, hij kan ook de bron van entertainment zijn omdat je hem kunt gebruik...
Beste gamepad-toewijzingsapps voor Linux
Als je graag games op Linux speelt met een gamepad in plaats van een typisch toetsenbord- en muisinvoersysteem, zijn er enkele handige apps voor jou. ...