Сжатие

Как сжимать файлы с помощью zstd из командной строки или сценария bash

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

Чтобы решить эту проблему, разработчики разработали алгоритмы сжатия и инструменты, способные сжимать данные в реальном времени, уменьшая размер и требуемую вычислительную мощность. Одним из таких инструментов является Zstandard, широко известный как Zstd.

Zstd - это бесплатный алгоритм сжатия в реальном времени с открытым исходным кодом, разработанный Янном Коллектом, сотрудником 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 upgrade
sudo apt-get -y установить build-essential wget tar

После того, как у нас будут установлены все инструменты, мы можем загрузить исходные файлы и скомпилировать их. Начните с перехода к тому месту, где у вас есть разрешения на чтение, запись и выполнение. ~ / Рабочий стол

cd ~ / Рабочий стол

Затем используйте wget для загрузки файлов в каталог.

wget https: // github.com / facebook / zstd / релизы / скачать / v1.4.9 / zstd-1.4.9.деготь.gz

Теперь разархивируйте загруженный файл и перейдите в каталог, используя следующие команды:

tar 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 system-backup
резервная система: 100.00% (1821109 => 1821164 байт, резервная копия системы.zst)
$ ls
резервное копирование системы.zst

Указание флага -rm автоматически удаляет исходный файл.

Получить информацию о файле

Чтобы отобразить связанную информацию о сжатом файле Zstd, вы можете использовать флаг -l, за которым следует имя файла. Отображаемая информация включает размер файла, степень сжатия и контрольную сумму файла

$ zstd -lv резервное копирование системы.zst
*** Интерфейс командной строки zstd 64-бит v1.4.9, Ян Колле ***
резервное копирование системы.zst # Zстандартных кадров: 1
Размер окна: 1.74 МБ (1821109 B)
Сжатый размер: 1.74 МБ (1821164 B)
Размер в распакованном виде: 1.74 МБ (1821109 B)
Соотношение: 1.0000
Проверить: XXH64

Укажите уровень сжатия

Чтобы явно указать уровень сжатия, используйте -, где уровень - это значение в диапазоне от 1 до 19. Уровень сжатия по умолчанию - 3. Вы также можете разблокировать более высокие уровни сжатия, я.е., 20-22 уровень.

ПРИМЕЧАНИЕ: Чем выше уровень сжатия, тем выше потребление памяти.

Например, чтобы сжать файл с уровнем сжатия 10, используйте команду:

zstd -z -10 --rm system-backup

Укажите скорость сжатия.

Zstd также позволяет вам установить скорость сжатия в диапазоне от 1 до. Скорость сжатия обратно пропорциональна степени сжатия. Скорость сжатия по умолчанию - 1, и чем выше значение, тем выше скорость сжатия.

Например, чтобы использовать максимальную скорость сжатия, используйте команду:

sudo zstd -z --fast = 10 резервное копирование системы

Укажите формат сжатия

Вы также можете указать формат сжатия, который будет использоваться, если вам не нравится сжатие zst по умолчанию. Форматы включают zstd, gzip, xz, lzma и lz4.

Используйте флаг -format и укажите формат как:

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

Сжать список файлов

Предположим, у вас есть список файлов, которые вы хотите сжать сразу. Zstd позволяет передавать файл, содержащий список файлов, и рекурсивно сжимает их.

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

/ Главная / пользователь / MySQL-резервное копирование
/ резервные копии / конфигурация
/ главная / Рабочий стол / медиа
/ sync / 2021 / пользователи

После сохранения файла вы можете передать список в Zstd со всеми другими параметрами для работы с файлами.

sudo zstd -z -v --rm --filelist list.текст

Эта команда сжимает все файлы, указанные в текстовом файле, и удаляет их по завершении.

Распаковать файл

Чтобы распаковать файл, вы можете использовать флаг -d с командой zstd или просто использовать команду unzstd для распаковки.

Например:

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

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

Чтобы проверить целостность сжатого файла zst, используйте флаг -t, как показано в следующей команде:

sudo zstd -t резервное копирование системы.zst

Заключение

Как видно из примеров, Zstd - это мощный алгоритм сжатия с множеством вариантов использования. Чтобы узнать больше о том, как это работает и как его реализовать, посетите страницу руководства и поэкспериментируйте.

Спасибо за прочтение.

Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
Левая кнопка мыши не работает в Windows 10
Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...