Сегодня в статье рассмотрим как пользоваться архиватором xz
Ранее мы рассмотрели Zip, 7-Zip в Linux. В этом руководстве мы поговорим ещё об одном архиваторе — xz.
Мы знаем, что Zip — это стандартный кроссплатформенный инструмент архивирования. Итак, зачем вообще использовать xz?
xz создает архивы гораздо меньшего размера, чем gzip, следовательно, мы можем считать xz лучшей заменой gzip. Мы проверим утверждение о меньших архивах в следующем разделе.
Недостатком xz является то, что он поставляется не со всеми дистрибутивами Linux. Но мы можем установить его с помощью утилиты yum или apt.
Установка xz в Linux
Чтобы установить xz в Debian/Ubuntu, используйте следующую команду:
sudo apt-get install xz-utils
Использование xz для отдельных файлов
Давайте используем xz для сжатия одного файла. Использование идентично gzip:
xz -v data.csv
- -v позволяет
xzотображать информацию о ходе выполнения.
xz имеет те же уровни сжатия 1-9, что и gzip. Сжатие по умолчанию равно 6. Итак, вот как сжать файл с минимальным уровнем сжатия 1:
xz -v1 data.csv
Для распаковки одного файла используем следующий синтаксис:
xz -dv data.csv.xz
или
unxz data.csv.xz
Использование tar с xz
Как и в случае с gzip, xz сжимает только один файл. Вот почему мы должны использовать xz вместе с утилитой tar для сжатия нескольких файлов или целых каталогов. Вот пример сжатия файлов *.csv:
tar cJvf archive.tar.xz *.csv
- Мы сжимаем все файлы с расширением
csvв текущем каталоге в сжатый архивarchive.tar.xz - Параметр
Jпозволяет выполнять сжатие с помощьюxz - Из-за опции
vtarпоказывает, какие файлы добавляются в архив
Уровень сжатия по умолчанию 6. Как мы можем это изменить?
Здесь мы указываем минимальный уровень сжатия 1:
tar cvf archive.tar.xz --use-compress-program='xz -1' *.csv
Пожалуйста, обратите внимание, что мы удалили параметр J здесь, потому что –-use-compress-program уже устанавливает программу сжатия.
Распаковка архива tar с помощью xz:
tar xvf archive.tar.xz
- Мы распаковываем файл
archive.tar.xzи извлекаем его содержимое в текущий каталог - Из-за опции
vtarпоказывает, какие файлы извлекаются из архива
Более быстрое сжатие с помощью многопоточности
В отличие от gzip, xz напрямую поддерживает многопоточность, что ускоряет сжатие.
По умолчанию xz использует только один поток. Мы можем указать количество потоков с помощью параметра -T.
Значение 0 указывает xz использовать один поток для каждого доступного ядра процессора:
xz -vT0 data.csv
Здесь мы будем использовать три потока:
xz -vT3 data.csv
Использование многопоточности с помощью tar
Ранее мы указывали уровень сжатия с помощью опции --use-compress-program . Теперь мы включаем многопоточность с помощью опции --use-compress-program, задав количество потоков. Здесь мы снова используем один поток для каждого ядра процессора:
tar cvf archive.tar.xz --use-compress-program='xz -1T0' *.csv
Заключение
В этой статье мы узнали, как сжимать и распаковывать отдельные файлы с помощью архиватора xz.
[endtxt]
. . . .
- Исправляем маленький интерфейс в GIMP 2.10
- Устраняем ошибку ERROR Failed to access socket path… на Ubuntu/Debian/Raspberry OS
- Тест скорости дисков в Linux
- Как запустить команду в фоне в Linux
- Ошибка несоответствие размеров GPT PMBR