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.