Оглавление
1. Современная утилита командной строки для очень быстрой архивации
2. Насколько zstd быстрее zip и других архиваторов
3. Как установить zstd в Linux
4. Как пользоваться zstd в Linux
5. Как распаковать архив с помощью zstd в Linux
1. Современная утилита командной строки для очень быстрой архивации
Утилита zstd — это современный архиватор, который способен очень быстро сжимать файлы.
Увеличение скорости зависит от конкретного компьютера и его центрального процессора, а именно от того, сколько у него ядер. Например, на моём компьютере zstd сжимает быстрее zip в 16 раз!
При современных скоростях интернет-соединения, иногда быстрее скачать или выгрузить несжатый файл размером 20-30 Гб, чем предварительно его архивировать. Для архивации больших файлов нужно слишком много времени — зачастую больше, чем нужно для передачи по сети несжатого файла.
Утилита zstd исправляет это — файл сжимается и лучше (меньший размер архива) и, самое главное, время сжатия сокращается очень значительно.
2. Насколько zstd быстрее zip и других архиваторов
Для измерения скорости сжатия я взял большой файл (экспортированная база данных MariaDB, фактически текстовый документ — такие файлы хорошо сжимаются). Для подсчёта затраченного времени я использовал утилиту time.
К примеру, файл размером 22.3 Гб был сжат с помощью zstd всего за 24.7 секунд.
time zstd -3 -T0 db.sql
А zip сжала этот же файла за 6 минут и 27.5 секунд:
time zip -3 db.sql.zip db.sql
То есть zstd быстрее zip почти в 16 раз!
Но нужно сразу оговориться — выигрыш скорости будет различным на различных компьютерах, поскольку zstd является многопоточным архиватором, а опция -T0 говорит использовать все возможные ядра (на тестируемой системе как раз 16 полноценных физических ядер).
Причём у zstd и степень сжатия оказалась лучше — файл архива имеет размер 6.3G, а архив zip имеет размер 7.3G.
Секрет скорости zstd в том, что она является многопоточной. При использовании zstd увеличивается нагрузка на центральный процессор по сравнению с zip и других утилитами архивации, которые являются однопоточными и нагружают процессор в гораздо меньшей степени.
3. Как установить zstd в Linux
Вполне возможно, что утилита zstd у вас уже установлена — на проверенных мной системах zstd присутствует, причём эта программа доступна даже на виртуальном хостинге.
Чтобы проверить, установлена ли программа zstd, попробуйте вывести краткую справку по zstd:
zstd -h
Или проверьте версию zstd:
zstd -V
Если вы увидите ошибку что программа не найдена, то её нужно установить.
Для установки zstd в Debian, Ubuntu, Linux Mint, Kali Linux и их производные выполните команду:
sudo apt install zstd
Для установки zstd в Arch Linux, Manjaro, BlackArch и их производные выполните команду:
sudo pacman -S zstd
4. Как сжать архив с помощью zstd в Linux
Чтобы сжать файл используйте команду, где вместо FILE вставьте путь до файла для сжатия:
zstd -T0 FILE
Полный аналог предыдущей команды (явно установлен уровень сжатия, который по умолчанию равен 3):
zstd -3 -T0 FILE
Вместо -3 вы можете использовать числа от -1 (минимальное сжатие, максимальная скорость) до -19 (максимальное сжатие, минимальная скорость)
zstd -T0 -6 FILE
По умолчанию исходный файл будет сохранён, если вы хотите чтобы в случае удачного сжатия исходный файл удалялся автоматически, то используйте команду вида:
zstd -T0 --rm FILE
5. Как распаковать архив с помощью zstd в Linux
Для распаковки архивов .zst используйте любую из следующих команд (они идентичны):
zstd -d FILE.zst unzstd FILE.zst
По умолчанию файл архива будет сохранён. Если вы хотите удалить файл архива в случае удачной распаковки, то добавьте к любой команде опцию —rm:
zstd -d --rm FILE.zst unzstd --rm FILE.zst
Связанные статьи:
- Работа с архивами в Linux (83.4%)
- Как установить 7zip на Linux (61.1%)
- Выпущена официальная версия 7-Zip для Linux (61.1%)
- Лучшие терминальные мультиплексные инструменты (50%)
- Как просмотреть или отредактировать метаданные pdf или изображениях из командной строки Linux (50%)
- Почему команда kill не убивает процесс? (RANDOM - 50%)



