Jak kompresować pliki za pomocą ZSTD z wiersza poleceń lub skryptu Bash

Jak kompresować pliki za pomocą ZSTD z wiersza poleceń lub skryptu Bash
We współczesnym świecie wchodzimy w interakcje i pracujemy z danymi wszędzie i codziennie. W zależności od potrzebnych potrzeb i danych wymagających przetwarzania, przechowywania i zasilania obliczeniowego mogą szybko stać się ograniczonymi zasobami.

Aby rozwiązać ten problem, programiści opracowali algorytmy kompresji i narzędzia zdolne do kompresji danych w czasie rzeczywistym, zmniejszając wymaganą rozmiar i moc przetwarzania. Jednym z tych narzędzi jest Zstandard, powszechnie znany jako ZSTD.

ZSTD to bezpłatny algorytm kompresji w czasie rzeczywistym opracowany przez Yann Collect, pracownik na Facebooku. ZSTD jest bardzo szybki i oferuje wyjątkowe współczynniki kompresji. Jest to bezstronny algorytm kompresji napisany w C, ale ma implementacje API w innych popularnych językach programowania, takich jak Python, Java, C#, JavaScript i wiele innych. Zapewnia również funkcje kompresji i dekompresji w pamięci.

Aby sprawdzić, czy ZSTD obsługuje żądany język, sprawdź zasób podany poniżej:

https: // Facebook.github.IO/ZSTD/

Jeśli chcesz spojrzeć na informacje porównawcze o ZSTD, użyj poniższego linku:

https: // github.com/Facebook/ZSTD

Ten samouczek pokaże, jak skompilować i zainstalować narzędzie ZSTD w Linux, a następnie użyć go do wykonania kompresji danych i dekompresji danych.

Jak zainstalować ZSTD

Aby użyć ZSTD, musimy go zainstalować, kompilując ze źródeł. W zależności od uruchomionego systemu i konfiguracji może być konieczne zainstalowanie zależności i narzędzi do pomyślnego wykonania kompilacji.

Zacznij od aktualizacji systemu i zainstalowania GNU, aby za pomocą polecenia:

Sudo apt-get Aktualizacja
Sudo apt-get Aktualizacja
sudo apt-get -y instaluj kompilację Wget Tar

Po zainstalowaniu wszystkich narzędzi możemy pobrać pliki źródłowe i skompilować. Zacznij od nawigacji, gdzie czytasz, piszesz i wykonujesz uprawnienia. ~/Desktop

CD ~/Desktop

Następnie użyj WGET, aby pobrać pliki do katalogu.

wget https: // github.com/Facebook/ZSTD/wydale/pobierz/v1.4.9/ZSTD-1.4.9.smoła.GZ

Teraz nie zajmuj się plikiem pobierania i przejdź do katalogu za pomocą poleceń jako:

TAR XVF ZSTD-1.4.9.smoła.GZ
CD ZSTD-1.4.9

Ostatnimi krokami jest zainstalowanie ZSTD za pomocą Make i tworzenia instalacji w katalogu ZSTD.

Sudo Make
sudo wykonaj instalację

Po zakończeniu kompilacji i instalacji możesz zacząć używać ZSTD w systemie do kompresji i dekompresji plików.

Jak używać ZSTD

ZSTD w ogóle nie odracza popularnych metod kompresji i dekompresji. Chociaż podstawowa technologia i implementacja różnią się od innych narzędzi, kompresowanie pliku z ZSTD jest podobne do składni TAR i GZIP.

Jak kompresować plik

Aby skompresować plik, zadzwoń do polecenia ZSTD, a następnie flaga -z, która mówi ZSTD, aby wykonał kompresję, a na koniec nazwę pliku do kompresji.

Na przykład poniższe polecenie kompresuje plik-backup w a .plik ZST.

$ sudo zstd -z -backup

Wyjście polecenia, jak pokazano poniżej:

System-Backup: 100.00% (1821109 => 1821164 bajty, kopia zapasowa systemu.ZST)
$ LS-Backup

Powinieneś zobaczyć plik z .rozszerzenie ZST jako:

Backup System.Zst

Po wykonaniu polecenia plik zostanie skompresowany i tworzy nazwę pliku .plik ZST, który możesz zdekompresować.

Skompresuj i usuń plik źródłowy

Jak widać z powyższego polecenia, plik źródłowy nie jest domyślnie usuwany po kompresji. Możesz określić, aby usunąć pliki źródłowe za pomocą flagi -RM:

$ sudo zstd -z - -rm -backup
System-Backup: 100.00% (1821109 => 1821164 bajtów, pobieranie systemu.ZST)
$ ls
Backup System.Zst

Określanie flagi -RM automatycznie usuwa plik źródłowy.

Uzyskaj informacje o pliku

Aby wyświetlić powiązane informacje na temat kompresowanego pliku ZSTD, możesz użyć flagi -L, a następnie nazwy pliku. Wyświetlane informacje zawierają rozmiar pliku, współczynnik kompresji i sumę kontrolną pliku

$ zstd -lv system systemowy.Zst
*** interfejs wiersza poleceń ZSTD 64-bity v1.4.9, autor: Yann Collet ***
Backup System.ZST # Zstandard Rames: 1
Rozmiar okna: 1.74 MB (1821109 B)
Skompresowany rozmiar: 1.74 MB (1821164 b)
Rozmiar dekompresowany: 1.74 MB (1821109 B)
Stosunek: 1.0000
Sprawdź: xxh64

Określ poziom kompresji

Aby wyraźnie określić poziom kompresji, użyj - gdzie poziom jest wartością od 1 do 19. Domyślny poziom kompresji to 3. Możesz także odblokować wyższe poziomy kompresji, i.mi., Poziom 20 - 22.

NOTATKA: Im wyższy poziom kompresji, tym wyższe zużycie pamięci.

Na przykład, aby skompresować plik z poziomem kompresji 10, użyj polecenia:

ZSTD -Z -10 - -RM

Określ prędkość kompresji.

ZSTD pozwala również ustawić prędkość kompresji w zakresie od 1 - do. Prędkość kompresji jest odwrotnie proporcjonalna do współczynnika kompresji. Domyślna prędkość kompresji wynosi 1, a im wyższa wartość, tym szybsza prędkość kompresji.

Na przykład, aby użyć maksymalnej prędkości kompresji, użyj polecenia:

sudo zstd -z -fast = 10 -backup

Podaj format kompresji

Możesz także określić format kompresji, jeśli nie podoba ci się domyślna kompresja ZST. Formaty obejmują ZSTD, GZIP, XZ, LZMA i LZ4.

Użyj flagi -format i określ format jako:

ZSTD -Z - -FORMAT = GZIP System -Backup

Lista plików kompresji

Załóżmy, że masz listę plików, które chcesz jednocześnie kompresować. ZSTD umożliwia przekazanie pliku zawierającego listę plików i kompresuje je rekurencyjnie.

Na przykład lista plików.TXT zawierający pliki

/home/user/mysql-backup
/kopie zapasowe/konfigurację
/Home/Desktop/Media
/synchronizacja/2021/użytkownicy

Po zapisaniu pliku możesz przekazać listę do ZSTD ze wszystkimi innymi opcjami do wykonania w plikach.

sudo zstd -z -v - -rm -filelist lista.tekst

To polecenie skompresuje wszystkie pliki określone w pliku tekstowym i usunie je po zakończeniu.

Dekompresować plik

Aby zdekompresować plik, możesz użyć flagi -D za pomocą polecenia ZSTD lub po prostu użyć polecenia UNZSTD, aby zdekompresować.

Na przykład:

Sudo odkręcanie systemu.Zst
sudo zstd -d -backup.Zst

Sprawdź integralność pliku

Aby przetestować integralność pliku kompresowanego ZST, użyj flagi -T, jak pokazano w poniższym poleceniu:

sudo zstd -t -backup.Zst

Wniosek

Jak widać z przykładów, ZSTD jest potężnym algorytmem kompresji z licznymi przypadkami użycia. Aby dowiedzieć się więcej o tym, jak to działa i jego wdrożenie, sprawdź stronę Man i eksperymentuj.

Dziękuje za przeczytanie.