Рассказываем о лучших архиваторах для Linux и объясняем, как работать с архивами в Линукс через команды tar, rar и программы Ark, 7-Zip, PeaZip, Zstandard, Lzop, Gzip.
Работать с архивами в Linux можно двумя способами: через командную строку или с помощью специальных программ. Это файловые менеджеры с функциями архиватора с графическим интерфейсом. В этой статье мы рассмотрим оба способа работы. Сначала познакомимся с тремя утилитами для командной строки, и затем — с архиваторами с GUI, предназначенными для создания, распаковки или просмотра архивов. Также рассмотрим основные нюансы их использования.
Работа с архивами через командную строку
Утилита tar на Linux
Этот архиватор включён по умолчанию во все самые распространённые дистрибутивы Unix-систем, и уже поэтому он является самой популярной утилитой для работы с архивами. Однако tar не привычная всем программа для архивирования и сжатия, а нечто иное. Сама она не может сжимать файлы, а использует для этого дополнительные утилиты, например, Gzip или BZip2. Именно поэтому сжатые с помощью tar пакеты имеют двойное расширение .tar.gz или .tar.bz2.
Установка расширений для сжатия файлов в Ubuntu, Linux Mint и Debian
- Для BZip2:
apt update
apt install bzip2
- Для Gzip:
sudo apt update
sudo apt install gzip
Как пользоваться tar
Cоздать архив с именем testarchive1.tar и добавить в него файлы testfile1, testfile2 и testfile3:
tаr -cvf testarchive1.tar testfile1 testfile2 testfile3
Просмотреть содержимое testarchive2.tar:
tаr -tf testarchive2.tar
Распаковать testarchive3.tar в родительский каталог:
tar -xvf testarchive3p.tar
Для распаковки testarchive4.tar в указанный каталог добавляем флаг -C и указываем целевую директорию.
Сжатие файлов
Так как «Тар» не сжимает файлы, для их сжатия добавляют дополнительные команды.
Создать архив, сжатый методом BZip2, добавляя расширение файла .bz2:
tar -cjvf testarch1.tar.bz2 <файл1> <файл2> <файл3>
Если нужен архив со сжатием gzip, то ставим флаг -czvf (вместо -cjvf) и указываем расширение .gz (вместо .bz2).
Распаковывать архивы с помощью команд:
tar -xjvf testarch1.tar.bz2
tar -xzvf testarch2.tar.gz
Чтобы распаковать в определённую папку добавляем флаг -C и указываем целевую папку.
Как сохранить архив удалённо
Чтобы передать и сохранить архив на удалённом сервере, пользуются командой следующего вида:
tar /dir1/dir2 ssh root@IP-address "cat > /путь/имя.расширение"
Замените /dir1/dir2 на каталог, который вы хотите положить в архив, IP-address — на IP-адрес удалённого сервера, /путь/имя.расширение — расположение создаваемого архива. Используйте нужный для архивирования и сжатия флаг.
Как извлечь из архива определённый файл
Чтобы извлечь часть архивированных файлов, пользуйтесь командой:
tar -xvf arch.tar <имена файлов через пробел>
Для извлечения из gzip-архивов добавьте флаг -zxvf и укажите правильное расширение файла. Для BZip2, соответственно, это флаг -jxvf и расширение .bz2.
Работа с RAR-архивами на Linux
Для работы с форматом .rar используют архиватор RAR для архивирования и UnRAR для извлечения файлов.
Основные команды для RAR и UnRAR
Создать архив, содержащий указанные файлы:
rar a namearch.rar <имена файлов через пробел>
Упаковать директорию dir1, включая всё, что в неё вложено:
rar -r a namearch.rar dir1
Добавление или удаление файлов в или из существующего архива производят, добавляя ключи u или d:
rar u arch.rar <фaйл> (добавить)
rar d arch.rar <фaйл> (удалить)
Утилита позволяет выбирать степень сжатия. Для этого к команде добавляют флаг -m*, где * — это параметр от 0 до 5 (0 — без сжатия и 5 — максимальное). По умолчанию установлено среднее сжатие, соответствующее значению 3.
rar a -m* arch.rar filename
Распаковка с помощью утилиты RAR — добавляем ключ x:
rar x <имяархива>.rar
И с использованием предназначенной для этого UnRAR:
unrar x arch.rar
- Распаковка в указанный каталог:
unrar x archivename.rar <путь к каталогу>
- Проверка целостности архива:
unrar t archivename.rar
- Просмотр списка упакованных заархивированных файлов:
unrar l archivename.rar
Файловые менеджеры — архиваторы для Linux
Все приложения для архивирования и сжатия данных для Linux с графическим интерфейсом представляют собой надстройки утилит, работающих через командную строку. Для их корректной работы нужно, чтобы все необходимые модули поддержки архивов были установлены. Это пакеты расширений, о которых уже шла речь выше: Bzip2, RAR, UnRAR, tаr, а также: Zip, Unzip, LZMA, p7zip и др.
Ark
Ark, возможно, самый распространённый архиватор для Линукс и один из лучших. Он разработан для среды KDE и включён в kdeutils. Код программы написан на C++.
Особенности Ark:
- Предварительный просмотр файлов, упакованных в архив, без распаковки.
- Поддержка .tar, .gzip, .rar, .zip, .bzip2, .zoo, .ar и других форматов.
- Доступна работа с форматами образов компакт-дисков.
- Поддерживает функцию комментариев, встроенных в архивы.
- Интегрируется с внешними приложениями.
- Имеет настраиваемые параметры сжатия.
- Доступна защита паролем созданных пакетов.
PeaZip
Бесплатный архиватор, работающий как на Linux, так и на Windows. Является аналогом 7-Zip, B1 Free Archiver и WinRAR.
Его особенности:
- PeaZip может поддерживать около 150 форматов, в том числе популярные .7z, .gzip, .rar, .zip.
- Имеет свой собственный формат .pea с функциями создания многотомных архивов, сжатия, шифрования и проверки целостности пакетов.
- Поддержка остальных форматов реализована за счет внешних ресурсов.
- PeaZip также поддерживает работу из командной строки.
- Однако у программы есть минус: она не полностью поддерживает UTF-8.
Архиватор 7-Zip
7-Zip — один из лучших бесплатных менеджеров архивов для Линукс. Полноценно работает с большинством форматов.
Важные особенности 7-Zip:
- 7-Zip позволяет задавать пароли при архивировании.
- Доступно шифрование архивных файлов методом Advanced Encryption Standard (AES).
- Поддержка WavPack.
- Восстановление повреждённых сжатых архивов.
- Утилита может управляться через командную строку.
- 7-Zip может использовать максимальную мощность процессора системы.
Zstandard
Zstandard — это инструмент для Linux, предназначенный для архивирования и сжатия и написанный на языках Java, Python, Rust, C# и PHP (то есть архиватор можно использовать на веб-ресурсах). Имеет простой пользовательский интерфейс и большое количество дополнений, расширяющих область его применения.
Особенности Zstandard:
- Скорость сжатия достигает 500 МБ в секунду, а извлечения — 1660 МБ в секунду.
- Программа позволяет одновременно сжимать и извлекать файлы, доступно более одного процесса одновременно.
- Позволяет сжимать базы данных.
- Автоматизация задач.
- Возможность изменять степень сжатия и распаковки.
Lzop
Lzop — ещё один свободно распространяемый менеджер архивов с открытым исходным кодом для Линукс, доступный почти в любом дистрибутиве Linux. Написан на языке программирования C. Lzop можно пользоваться через GUI или командную строку.
Особенности Lzop:
- Lzop — портативная программа-архиватор, можно пользоваться без установки.
- Высокая скорость сжатия данных.
- Создаёт архивы с расширениями .tzo и .tar.
- Поддерживает несколько процессов одновременно.
Gzip
Gzip по праву считается лучшим менеджером для GNU Линукс. Архиватором Gzip можно пользоваться в графическом режиме или в режиме командной строки через терминал.
Особенности Gzip:
- Обеспечивает сжатие без потерь.
- По умолчанию заархивированному файлу присваивается расширение .gz.
- При сжатии используются методы LZ77 и LZW.
- Gzip автоматически сокращает длинные имена файлов при сжатии.
- Сжимает несколько архивов одновременно.
Теперь вы знаете всё об установке и использовании архиваторов в ОС Linux.
Читайте полезные статьи блога: