Kompression

So komprimieren Sie Dateien mit zstd über die Befehlszeile oder das Bash-Skript

So komprimieren Sie Dateien mit zstd über die Befehlszeile oder das Bash-Skript
In der modernen Welt interagieren und arbeiten wir überall und täglich mit Daten data. Abhängig von den jeweiligen Anforderungen und den zu verarbeitenden Daten können Speicher und Rechenleistung schnell zu begrenzten Ressourcen werden.

Um dieses Problem zu lösen, entwickelten Entwickler Komprimierungsalgorithmen und -tools, die Daten in Echtzeit komprimieren können, wodurch die erforderliche Größe und Verarbeitungsleistung reduziert wird. Eines dieser Tools ist Zstandard, allgemein bekannt als Zstd.

Zstd ist ein kostenloser Open-Source-Echtzeit-Komprimierungsalgorithmus, der von Yann Collect, einem Mitarbeiter bei Facebook, entwickelt wurde. Zstd ist sehr schnell und bietet hervorragende Kompressionsraten. Es ist ein verlustfreier Komprimierungsalgorithmus, der in C geschrieben wurde, aber API-Implementierungen in anderen gängigen Programmiersprachen wie Python, Java, C#, JavaScript und vielen mehr hat. Es bietet auch In-Memory-Komprimierungs- und Dekomprimierungsfunktionen.

Um zu überprüfen, ob Zstd Ihre gewünschte Sprache unterstützt, überprüfen Sie die unten bereitgestellte Ressource:

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

Wenn Sie Benchmarking-Informationen zu Zstd einsehen möchten, verwenden Sie den folgenden Link:

https://github.com/facebook/zstd

Dieses Tutorial zeigt Ihnen, wie Sie das Zstd-Tool unter Linux kompilieren und installieren und es dann verwenden, um Datenkomprimierung und -dekomprimierung durchzuführen.

So installieren Sie Zstd

Um Zstd zu verwenden, müssen wir es installieren, indem wir es aus den Quellen kompilieren. Abhängig von dem von Ihnen ausgeführten System und der Konfiguration müssen Sie möglicherweise Abhängigkeiten und Tools installieren, um die Kompilierung erfolgreich durchzuführen.

Beginnen Sie damit, Ihr System zu aktualisieren und GNU make mit dem folgenden Befehl zu installieren:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get -y install build-essential wget tar

Sobald wir alle Tools installiert haben, können wir die Quelldateien herunterladen und kompilieren. Navigieren Sie zunächst dorthin, wo Sie Lese-, Schreib- und Ausführungsberechtigungen haben. ~/Desktop

cd ~/Desktop

Als nächstes verwenden Sie wget, um die Dateien in das Verzeichnis herunterzuladen.

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

Entpacken Sie nun die Download-Datei und navigieren Sie mit den folgenden Befehlen in das Verzeichnis:

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

Die letzten Schritte sind die Installation von Zstd mit make und make install im Zstd-Verzeichnis.

sudo machen
sudo machen installieren

Sobald die Kompilierung und Installation erfolgreich abgeschlossen ist, können Sie Zstd auf Ihrem System verwenden, um Dateien zu komprimieren und zu dekomprimieren.

So verwenden Sie Zstd

Zstd weicht überhaupt nicht von gängigen Komprimierungs- und Dekomprimierungsmethoden aus. Obwohl sich die zugrunde liegende Technologie und Implementierung von anderen Tools unterscheidet, ähnelt das Komprimieren einer Datei mit Zstd der Syntax von tar und gzip.

So komprimieren Sie eine Datei

Um eine Datei zu komprimieren, rufen Sie den Befehl zstd gefolgt vom Flag -z auf, das zstd anweist, die Komprimierung durchzuführen, und schließlich den Namen der zu komprimierenden Datei.

Der folgende Befehl komprimiert beispielsweise die Systemsicherungsdatei in ein .zst-Datei.

$ sudo zstd -z system-backup

Die Befehlsausgabe wie unten gezeigt:

System-Backup: 100.00% (1821109 => 1821164 Bytes, Systemsicherung.zst)
$ ls System-Backup

Sie sollten eine Datei mit sehen .zst-Erweiterung als:

System-Backup.zst

Sobald der Befehl ausgeführt wird, wird die Datei komprimiert und erstellt einen Dateinamen .zst-Datei, die Sie dekomprimieren können.

Komprimieren und entfernen Sie die Quelldatei

Wie Sie dem obigen Befehl entnehmen können, wird die Quelldatei bei der Komprimierung standardmäßig nicht entfernt removed. Sie können angeben, dass die Quelldateien mit dem Flag -rm entfernt werden sollen:

$ sudo zstd -z --rm Systemsicherung
System-Backup: 100.00% (1821109 => 1821164 Bytes, System-Backup.zst)
$ ls
System-Backup.zst

Die Angabe des Flags -rm entfernt automatisch die Quelldatei.

Dateiinformationen abrufen

Um verwandte Informationen über die komprimierte Zstd-Datei anzuzeigen, können Sie das Flag -l gefolgt vom Dateinamen verwenden. Die angezeigten Informationen umfassen die Dateigröße, das Komprimierungsverhältnis und die Dateiprüfsumme

$ zstd -lv system-backup.zst
*** zstd-Befehlszeilenschnittstelle 64-Bit v1.4.9, von Yann Collet ***
System-Backup.zst # Zstandard Frames: 1
Fenstergröße: 1.74 MB (1821109 B)
Komprimierte Größe: 1.74 MB (1821164 B)
Dekomprimierte Größe: 1.74 MB (1821109 B)
Verhältnis: 1.0000
Prüfen: XXH64

Geben Sie die Komprimierungsstufe an

Um die Komprimierungsstufe explizit anzugeben, verwenden Sie - wobei die Stufe ein Wert im Bereich von 1 - 19 . ist. Die Standardkomprimierungsstufe ist 3. Sie können auch höhere Komprimierungsstufen freischalten, d.e., Stufe 20 - 22.

HINWEIS: Je höher die Komprimierungsstufe, desto höher die Speichernutzung.

Um beispielsweise eine Datei mit einer Komprimierungsstufe von 10 zu komprimieren, verwenden Sie den Befehl:

zstd -z -10 --rm system-backup

Komprimierungsgeschwindigkeit angeben.

Mit Zstd können Sie auch die Komprimierungsgeschwindigkeit im Bereich von 1 bis . einstellen. Die Kompressionsgeschwindigkeit ist umgekehrt proportional zum Kompressionsverhältnis. Die Standardkomprimierungsgeschwindigkeit ist 1, und je höher der Wert, desto schneller die Komprimierungsgeschwindigkeit.

Um beispielsweise die maximale Komprimierungsgeschwindigkeit zu verwenden, verwenden Sie den Befehl:

sudo zstd -z --fast=10 System-Backup

Komprimierungsformat angeben

Sie können auch das zu verwendende Komprimierungsformat angeben, wenn Ihnen die standardmäßige ZST-Komprimierung nicht gefällt. Zu den Formaten gehören zstd, gzip, xz, lzma und lz4.

Verwenden Sie das Flag -format und geben Sie das Format wie folgt an:

zstd -z --format=gzip-Systemsicherung

Dateiliste komprimieren

Angenommen, Sie haben eine Liste von Dateien, die Sie alle auf einmal komprimieren möchten. Mit Zstd können Sie eine Datei mit einer Liste von Dateien übergeben und diese rekursiv komprimieren.

Zum Beispiel eine Dateiliste.txt mit den Dateien

/home/user/mysql-backup
/backups/config
/home/Desktop/medien
/sync/2021/users

Sobald Sie die Datei gespeichert haben, können Sie die Liste mit allen anderen Optionen für die Dateien an Zstd übergeben.

sudo zstd -z -v --rm --filelist list.TXT

Dieser Befehl komprimiert alle in der Textdatei angegebenen Dateien und entfernt sie nach Abschluss.

Eine Datei dekomprimieren

Um eine Datei zu dekomprimieren, können Sie das Flag -d mit dem Befehl zstd verwenden oder einfach den Befehl unzstd zum Dekomprimieren verwenden.

Beispielsweise:

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

Dateiintegrität überprüfen

Um die Integrität einer zst-komprimierten Datei zu testen, verwenden Sie das Flag -t, wie im folgenden Befehl gezeigt:

sudo zstd -t system-backup.zst

Fazit

Wie wir an den Beispielen sehen können, ist Zstd ein leistungsstarker Komprimierungsalgorithmus mit zahlreichen Anwendungsfällen. Um mehr über die Funktionsweise und Implementierung zu erfahren, lesen Sie die Manpage und experimentieren Sie.

Danke fürs Lesen.

Beste Spielkonsolen-Emulatoren für Linux
Dieser Artikel listet beliebte Spielekonsolen-Emulationssoftware auf, die für Linux verfügbar ist. Emulation ist eine Softwarekompatibilitätsschicht, ...
Beste Linux-Distributionen für Gaming im Jahr 2021
Das Linux-Betriebssystem hat sich weit von seinem ursprünglichen, einfachen, serverbasierten Aussehen entfernt. Dieses Betriebssystem hat sich in den ...
So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...