Компресия

Как да компресирам файлове с zstd от командния ред или bash скрипта

Как да компресирам файлове с zstd от командния ред или bash скрипта
В съвременния свят ние взаимодействаме и работим с данни навсякъде и всеки ден. В зависимост от нуждите и данните, изискващи обработка, съхранение и изчислителна мощност, могат бързо да станат ограничени ресурси.

За да разрешат този проблем, разработчиците разработиха алгоритми за компресия и инструменти, способни да компресират данни в реално време, намалявайки размера и необходимата мощност. Един от тези инструменти е Zstandard, известен като Zstd.

Zstd е безплатен алгоритъм за компресиране в реално време с отворен код, разработен от Yann Collect, служител във Facebook. Zstd е много бърз и предлага изключителни степени на компресия. Това е алгоритъм за компресиране без загуби, написан на C, но има API реализации в други популярни езици за програмиране като Python, Java, C #, JavaScript и много други. Той също така осигурява функции за компресиране и декомпресия в паметта.

За да проверите дали Zstd поддържа желания от вас език, проверете ресурса, предоставен по-долу:

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

Ако искате да разгледате сравнителна информация за Zstd, използвайте връзката по-долу:

https: // github.com / facebook / zstd

Този урок ще ви покаже как да компилирате и инсталирате инструмента Zstd в Linux, след което да го използвате за извършване на компресиране и декомпресиране на данни.

Как да инсталирате Zstd

За да използваме Zstd, трябва да го инсталираме, като компилираме от източниците. В зависимост от системата, която работите, и конфигурацията, може да се наложи да инсталирате зависимости и инструменти за успешно изпълнение на компилацията.

Започнете с актуализиране на вашата система и инсталиране на GNU make, като използвате командата:

sudo apt-get update
sudo apt-get ъпгрейд
sudo apt-get -y инсталиране на компилацията от съществено значение wget tar

След като инсталираме всички инструменти, можем да изтеглим изходните файлове и да ги компилираме. Започнете с навигация къде сте чели, писали и изпълнявали разрешения. ~ / Работен плот

cd ~ / Работен плот

След това използвайте wget, за да изтеглите файловете в директорията.

wget https: // github.com / facebook / zstd / releases / download / v1.4.9 / zstd-1.4.9.катран.gz

Сега деархивирайте файла за изтегляне и навигирайте в директорията, като използвате командите като:

катран xvf zstd-1.4.9.катран.gz
cd zstd-1.4.9

Последните стъпки са да инсталирате Zstd, като използвате make и make install в директорията на Zstd.

sudo make
sudo make install

След като компилацията и инсталацията приключат успешно, можете да започнете да използвате Zstd на вашата система за компресиране и декомпресиране на файлове.

Как да използвам Zstd

Zstd изобщо не се отказва от популярните методи за компресия и декомпресия. Въпреки че основната технология и изпълнение се различават от другите инструменти, компресирането на файл с Zstd е подобно на синтаксиса на tar и gzip.

Как да компресирам файл

За да компресирате файл, извикайте командата zstd, последвана от флага -z, който казва на zstd да извърши компресията и накрая името на файла за компресиране.

Например командата по-долу компресира файла за архивиране на системата в .zst файл.

$ sudo zstd -z система за архивиране

Изходът на командата, както е показано по-долу:

резервно копие на системата: 100.00% (1821109 => 1821164 байта, архивиране на системата.zst)
$ ls резервно копие на системата

Трябва да видите файл с .zst разширение като:

архивиране на системата.zst

След като командата се изпълни, файлът се компресира и създава име на файл .zst файл, който можете да декомпресирате.

Компресирайте и премахнете изходния файл

Както можете да видите от горната команда, изходният файл не се премахва по подразбиране при компресиране. Можете да посочите да премахнете изходните файлове, като използвате флага -rm:

$ sudo zstd -z --rm резервно копие на системата
резервно копие на системата: 100.00% (1821109 => 1821164 байта, архивиране на системата.zst)
$ ls
архивиране на системата.zst

Посочването на флага -rm автоматично премахва изходния файл.

Вземете информация за файла

За да покажете свързана информация за Zstd компресиран файл, можете да използвате флага -l, последван от името на файла. Показваната информация включва размера на файла, степента на компресия и контролната сума на файла

$ zstd -lv резервно копие на системата.zst
*** zstd интерфейс на командния ред 64-бита v1.4.9, от Ян Колет ***
архивиране на системата.zst # Zstandard Рамки: 1
Размер на прозореца: 1.74 MB (1821109 B)
Компресиран размер: 1.74 MB (1821164 B)
Декомпресиран размер: 1.74 MB (1821109 B)
Съотношение: 1.0000
Проверка: XXH64

Посочете нивото на компресия

За да посочите изрично нивото на компресия, използвайте - където нивото е стойност, варираща от 1 - 19. Нивото на компресия по подразбиране е 3. Можете също така да отключите по-високи нива на компресия, т.е.д., ниво 20 - 22.

ЗАБЕЛЕЖКА: Колкото по-високо е нивото на компресия, толкова по-голямо е използването на паметта.

Например, за да компресирате файл с ниво на компресия 10, използвайте командата:

zstd -z -10 --rm резервно копие на системата

Посочете скорост на компресия.

Zstd също ви позволява да зададете скорост на компресия, варираща от 1 до. Скоростта на компресия е обратно пропорционална на степента на компресия. Скоростта на компресия по подразбиране е 1 и колкото по-висока е стойността, толкова по-бърза е скоростта на компресия.

Например, за да използвате максималната скорост на компресия, използвайте командата:

sudo zstd -z --fast = 10 системно архивиране

Посочете формат на компресия

Можете също така да посочите формата на компресиране, който да използвате, ако не ви харесва компресията по подразбиране zst. Форматите включват zstd, gzip, xz, lzma и lz4.

Използвайте флага -format и посочете формата като:

zstd -z --format = gzip резервно копие на системата

Компресиране на списък с файлове

Да предположим, че имате списък с файлове, които искате да компресирате наведнъж. Zstd ви позволява да предадете файл, съдържащ списък с файлове, и ги компресира рекурсивно.

Например списък с файлове.txt, съдържащ файловете

/ home / user / mysql-backup
/ архиви / конфиг
/ начало / работен плот / медия
/ sync / 2021 / потребители

След като запазите файла, можете да предадете списъка на Zstd с всички останали опции за изпълнение на файловете.

sudo zstd -z -v --rm - списък на списъка с файлове.текст

Тази команда ще компресира всички файлове, посочени в текстовия файл, и ще ги премахне при завършване.

Декомпресирайте файл

За да декомпресирате файл, можете да използвате флага -d с командата zstd или просто да използвате командата unzstd, за да декомпресирате.

Например:

sudo unzstd резервно копие на системата.zst
sudo zstd -d system-backup.zst

Проверете целостта на файла

За да тествате целостта на zst компресиран файл, използвайте флага -t, както е показано в командата по-долу:

sudo zstd -t system-backup.zst

Заключение

Както можем да видим от примерите, Zstd е мощен алгоритъм за компресиране с множество случаи на употреба. За да научите повече за това как работи и прилагането му, проверете страницата с ръководства и експериментирайте.

Благодаря за четенето.

Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...
Най-добрите приложения за картографиране на геймпад за Linux
Ако искате да играете игри на Linux с геймпад вместо типична система за въвеждане на клавиатура и мишка, има някои полезни приложения за вас. Много ко...