Архивы 7z не так популярны, как Zip, но всё же пользуются спросом у пользователей. Для сжатия используется эффективный алгоритм LZMA2, на 10-40% превосходящий Deflate (Zip). В дистрибутивах Linux обычно отсутствует предустановленный архиватор для работы с 7z.
Мы рассмотрим несколько как выполняется распаковка 7z Linux. Помимо этого, приведём примеры использования консольной утилиты 7z.
Содержание статьи
Что такое 7z
Архивы формата 7z практически не используются разработчиками для распространения программ. Их выбирают обычные пользователи в виду того, что алгоритм LZMA2 обладает хорошей степенью сжатия и при этом не требует покупки архиватора, как тот же RAR.
К плюсам этого формата также можно отнести и то, что с ним работает большое количество архиваторов на всех операционных системах, хотя до универсальности Zip он не дотягивает.
Как распаковать 7z в графическом интерфейсе
Так как 7z использует метод сжатия LZMA2 (применяется в tar.xz), то нет ничего удивительного в том, что его поддерживает большинство архиваторов, доступных на Linux. Для распаковки нажмите кнопку Извлечь/Распаковать (Extract). Также вы можете перетащить файлы в папку или на рабочий стол, если эта функция доступна в вашей оболочке.
Список архиваторов, поддерживающих распаковку 7z:
- File Roller (GNOME).
- Engrampa (Mate).
- Ark (KDE).
- PeaZip.
- Xarchiver.
- p7Zip-GUI.
Как распаковать 7z в терминале
Для того, чтобы распаковать архив 7z в терминале, необходимо установить утилиту p7zip, которая также используется в архиваторах с графическим интерфейсом. Команда для установки в Debian/Ubuntu:
sudo apt install p7zip-full
Команда для установки в Red Hat/Fedora:
sudo yum install p7zip p7zip-plugins
Команда для установки в Archlinux/Manjaro:
sudo pacman -Sy p7zip
После этого вам станут доступны команды p7zip и 7z. Последняя содержит большее количество аргументов. Также стоит упомянуть о том, что у программ разный синтаксис, но общая библиотека. Для распаковки с помощью p7zip используйте команду:
p7zip -d имя_файла.7z
В том случае, если архив будет зашифрован, утилита сама спросит пароль без необходимости добавлять аргументы. К сожалению, выбрать конечную папку с p7zip нельзя.
Команда 7z позволяет не только распаковать, но и запаковать файлы, применив при этом множество параметров.
Вот основные аргументы команды 7z:
- x - распаковать все файлы, с учётом вложенности.
- e - распаковать все файлы, без учёта вложенности.
- o - указать каталог для распаковки.
- l - посмотреть содержимое архива.
- r - обрабатывать каталоги при использовании фильтров.
- i - показать информацию о поддерживаемых форматах и алгоритмах сжатия.
А теперь рассмотрим пару примеров использования этих команд. Эта команда просто распакует архив в текущую папку:
7z x имя_файла.7z
Распаковать только нужные файлы можно с помощью этих команд:
7z l имя_файла.7z -r *.db
7z e имя_файла.7z -r файл_1.db
В этом примере мы сначала нашли все файлы с расширением .db, а затем извлекли файл_1.db рядом с архивом с помощью команды e, которая распаковывает файлы без учёта вложенности. С помощью этой команды архив будет распакован в папку:
7z x имя_файла.7z -o имя_папки
Как видите, имя папки вводится без пробела. В этом примере папка будет создана рядом с архивом. Также вы можете задать другую папку, например, домашний каталог:
7z x имя_файла.7z -o /home/имя_пользователя/
Стоит отметить, что архиватор не понимает ~. Если вы решите использовать это сокращение, то будет создана папка с именем ~. Теперь вы знаете как разархивировать 7z linux.
Выводы
Для того чтобы распаковать 7z в Linux необходимо установить архиватор, поддерживающий этот формат. Среди графических одним из лучших будет PeaZip. Консольных архиваторов не так много и для работы с 7z следует использовать p7zip, который также содержит архиватор 7z.
А запаковать архив будет: 7z a archive.7z file.txt
Менеджер архивов среды GNOME.
Я лично пользуюсь многофункциональным архиватором PeaZip . он работает с многими архивами, как альтернатива WinRAR и бесплатен.
> 7z x имя_файла.7z -o /home/имя_пользователя/
Между параметром -o и путем не должно быть пробела. Иначе валится с ошибкой
>Command line error:
>Too short switch linux:
>-o
А если архив запаролен?