Kompresja

Jak skompresować pliki za pomocą zstd z wiersza poleceń lub skryptu bash

Jak skompresować pliki za pomocą zstd z wiersza poleceń lub skryptu bash
We współczesnym świecie codziennie i wszędzie wchodzimy w interakcje i pracujemy z danymi. W zależności od potrzeb i danych wymagających przetwarzania, przechowywania i mocy obliczeniowej 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 rozmiar i wymaganą moc obliczeniową. Jednym z tych narzędzi jest Zstandard, powszechnie znany jako Zstd.

Zstd to darmowy algorytm kompresji w czasie rzeczywistym o otwartym kodzie źródłowym, opracowany przez Yanna Collect, pracownika Facebooka. Zstd jest bardzo szybki i oferuje doskonałe współczynniki kompresji. Jest to bezstratny algorytm kompresji napisany w C, ale ma implementacje API w innych popularnych językach programowania, takich jak Python, Java, C#, JavaScript i wielu 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 zapoznać się z informacjami porównawczymi dotyczącymi Zstd, skorzystaj z poniższego linku:

https://github.com/facebook/zstd

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

Jak zainstalować Zstd

Aby używać Zstd, musimy go zainstalować, kompilując ze źródeł. W zależności od używanego systemu i konfiguracji może być konieczne zainstalowanie zależności i narzędzi, aby pomyślnie przeprowadzić kompilację.

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

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

Po zainstalowaniu wszystkich narzędzi możemy pobrać pliki źródłowe i je skompilować. Zacznij od nawigowania tam, gdzie masz uprawnienia do czytania, pisania i wykonywania. ~/Pulpit

cd ~/Pulpit

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

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

Teraz rozpakuj pobrany plik i przejdź do katalogu, używając poleceń jako:

smoła xvf zstd-1.4.9.smoła.gz
cd zstd-1.4.9

Ostatnie kroki to zainstalowanie Zstd za pomocą make i make install w katalogu Zstd.

sudo zrobić
sudo dokonać instalacji

Po pomyślnym zakończeniu kompilacji i instalacji możesz zacząć używać Zstd w swoim systemie do kompresji i dekompresji plików.

Jak korzystać z Zstd

Zstd w ogóle nie odbiega od popularnych metod kompresji i dekompresji. Chociaż podstawowa technologia i implementacja różnią się od innych narzędzi, kompresja pliku za pomocą Zstd jest podobna do składni tar i gzip.

Jak skompresować plik

Aby skompresować plik, wywołaj polecenie zstd, a następnie flagę -z, która mówi zstd, aby wykonał kompresję, a na końcu nazwę pliku do skompresowania.

Na przykład poniższe polecenie kompresuje plik kopii zapasowej systemu do formatu A .plik zst.

$ sudo zstd -z kopia zapasowa systemu

Dane wyjściowe polecenia, jak pokazano poniżej:

kopia zapasowa systemu :100.00% (1821109 => 1821164 bajtów, kopia zapasowa systemu.zst)
$ ls kopia zapasowa systemu

Powinieneś zobaczyć plik z .zst rozszerzenie jako:

kopia zapasowa systemu.zst

Po wykonaniu polecenia plik zostaje skompresowany i tworzy nazwę pliku .plik zst, który można rozpakować.

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, używając flagi -rm:

$ sudo zstd -z --rm kopia zapasowa systemu
kopia zapasowa systemu :100.00% (1821109 => 1821164 bajtów, kopia zapasowa systemu.zst)
$ ls
kopia zapasowa systemu.zst

Określenie flagi -rm automatycznie usuwa plik źródłowy.

Uzyskaj informacje o pliku

Aby wyświetlić powiązane informacje o skompresowanym pliku Zstd, możesz użyć flagi -l, po której następuje nazwa pliku. Wyświetlane informacje obejmują rozmiar pliku, stopień kompresji i sumę kontrolną pliku

$ zstd -lv kopia zapasowa systemu.zst
*** Interfejs wiersza poleceń zstd 64-bitowy v1.4.9, autorstwa Yanna Colleta ***
kopia zapasowa systemu.zst # Zstandardowe ramki: 1
Rozmiar okna: 1.74 MB (1821109 B)
Skompresowany rozmiar: 1.74 MB (1821164 B)
Rozpakowany rozmiar: 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ą z zakresu 1 - 19. Domyślny poziom kompresji to 3. Możesz także odblokować wyższe poziomy kompresji, i.mi., poziom 20 - 22.

UWAGA: Im wyższy poziom kompresji, tym większe zużycie pamięci.

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

zstd -z -10 --rm kopia zapasowa systemu

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 stopnia kompresji compression. Domyślna prędkość kompresji to 1, im wyższa wartość, tym większa prędkość kompresji.

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

sudo zstd -z --fast=10 kopia zapasowa systemu

Określ format kompresji

Możesz również określić format kompresji, który ma być używany, 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 kopia zapasowa systemu

Skompresuj listę plików

Załóżmy, że masz listę plików, które chcesz skompresować jednocześnie all. Zstd pozwala na przekazanie pliku zawierającego listę plików i ich rekursywną kompresję.

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

/home/użytkownik/mysql-backup
/kopie/konfiguracja
/home/Komputery/media
/sync/2021/użytkownicy

Po zapisaniu pliku możesz przekazać listę do Zstd ze wszystkimi innymi opcjami do wykonania na 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.

Rozpakuj plik

Aby zdekompresować plik, możesz użyć flagi -d z poleceniem zstd lub po prostu użyć polecenia unzstd, aby rozpakować.

Na przykład:

sudo unzstd kopia zapasowa systemu.zst
sudo zstd -d kopia zapasowa systemu.zst

Sprawdź integralność pliku

Aby przetestować integralność skompresowanego pliku zst, użyj flagi -t, jak pokazano w poniższym poleceniu:

sudo zstd -t kopia zapasowa systemu.zst

Wniosek

Jak widać na przykładach, Zstd to potężny algorytm kompresji z licznymi przypadkami użycia. Aby dowiedzieć się więcej o tym, jak to działa i jego implementacji, sprawdź stronę man i eksperyment.

Dziękuje za przeczytanie.

Cursor jumps or moves randomly while typing in Windows 10
If you find that your mouse cursor jumps or moves on its own, automatically, randomly while typing in Windows laptop or computer, then some of these s...
How to reverse Mouse and Touchpads scrolling direction in Windows 10
Mouse and Touchpads not only make computing easy but more efficient and less time-consuming. We cannot imagine a life without these devices, but still...
How to change Mouse pointer and cursor size, color & scheme on Windows 10
The mouse pointer and cursor in Windows 10 are very important aspects of the operating system. This can be said for other operating systems as well, s...