Как распаковать 7z архив в linux

Обновлено: 04.07.2024

В операционной системе Windows формат архивов ZIP считается чуть ли не стандартным, он даже поддерживается в этой операционной системе, что называется "из коробки". Если вы только перешли с Windows, то у вас, наверное, есть много таких архивов с различными файлами, также ZIP-архивы могут часто попадаться на просторах интернета. Поэтому работать с такими файлами в Linux вам однозначно придётся.

В этой небольшой статье мы рассмотрим, как распаковать ZIP Linux. Разберём несколько способов и воспользуемся несколькими утилитами, которые справятся с этой задачей.

Распаковка ZIP Linux

Формат ZIP был создан в 1989 году на замену очень медленному формату ARC. Здесь используется сжатие deflate, и на то время оно работало намного быстрее чем ARC. Исторически сложилось так, что стандартным форматом для Linux стали TAR и GZ - это усовершенствованные алгоритмы сжатия и архивации. Многие графические распаковки воспринимают и ZIP-файлы. Но они обрабатывают архивы не сами, а дают команду предназначенным для этого формата утилитам.

Утилита для распаковки ZIP называется unzip, она не всегда установлена по умолчанию. Но вы можете очень просто добавить её в свою систему из официальных репозиториев. Для этого в Ubuntu выполните:

sudo apt install unzip

А в системах, использующих формат пакетов Red Hat, команда будет выглядеть немного по-другому:

sudo yum install unzip zip

После установки большинство графических утилит для работы с архивами смогут распаковать архив ZIP Linux. Команда ZIP Linux установлена на случай, если вы захотите создавать ZIP-архивы.

Но этой утилите не нужны дополнительные оболочки для распаковки архива. Вы можете сделать всё прямо из консоли. Давайте рассмотрим синтаксис утилиты:

$ unzip опции файл_архива.zip файлы -x исключить -d папка

  • файл архива - это тот файл, с которым нам предстоит работать;
  • файлы - здесь вы можете указать файлы, которые нужно извлечь, разделять имена файлов пробелом;
  • исключить - файлы, которые извлекать не нужно;
  • папка - папка, в которую будет распакован архив.

Теперь рассмотрим опции утилиты, поскольку она позволяет не только распаковывать архивы, но и выполнять с ними определённые действия:

  • -l - вывести список файлов в архиве;
  • -t - протестировать файл архива на ошибки;
  • -u - обновить существующие файлы на диске;
  • -z - вывести комментарий к архиву;
  • -c - извлекать файлы на стандартный вывод, перед каждым файлом будет выводиться его имя;
  • -p - то же самое, только имя выводится не будет;
  • -f - извлечь только те файлы, которые уже существуют на диске, и файлы в архиве более новые;
  • -v - вывести всю доступную информацию;
  • -P - указать пароль для расшифровки архива;
  • -n - не перезаписывать существующие файлы;
  • -j - игнорировать структуру архива и распаковать всё в текущую папку;
  • -q - выводить минимум информации.

Все самые основные опции рассмотрели, теперь давайте рассмотрим несколько примеров работы с программой в терминале. Чтобы распаковать ZIP Linux в текущую папку, достаточно набрать:

zip3

Причём расширение указывать не обязательно. Протестировать архив можно с помощью опции -t:

unzip -tq имя_файла.zip

zip1

Вы можете протестировать все архивы в текущей папке, выполнив:

Если нужно распаковывать архив не в текущую папку, можно очень просто указать нужную:

unzip имя_файла.zip -d /tmp

zip4

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

unzip имя_файла.zip \*.txt -d /tmp

С помощью опции -l вы можете посмотреть список файлов в архиве:

unzip -l file.zip

zip

Утилиту unzip разобрали и теперь вы с ней точно справитесь. Но я говорил, что мы рассмотрим несколько способов, как выполняется распаковка ZIP Linux. Поэтому дальше мы поговорим об утилите 7z.

Демонстрация работы утилит zip и unzip в терминале:

Как распаковать ZIP Linux с помощью 7z

7z - это кроссплатформенный набор утилит для работы с архивами. Кроме собственного формата, здесь поддерживается большое количество других, в том числе tar и zip. Плюс этой утилиты - в контекстное меню файлового менеджера будет добавлен пункт, с помощью которого вы сможете распаковывать или создавать архивы.

Для установки утилиты в Ubuntu или Debian выполните:

sudo apt install p7zip-full

А в Red Hat и CentOS:

sudo yum install p7zip

Теперь вы можете использовать контекстное меню вашего файлового менеджера, чтобы распаковать архив ZIP Linux. Также можно использовать программу в консоли. Синтаксис очень похож на unzip:

$ 7z команда опции имя_архива

Команда задаёт нужное действие. Нас будут интересовать только четыре команды:

Теперь рассмотрим самые полезные опции:

  • -o - указать папку для распаковки;
  • -p - указать пароль;
  • -x - не извлекать эти файлы;
  • -w - указать рабочую директорию;
  • -y - отвечать положительно на все вопросы;

Ну и рассмотрим примеры работы с утилитой. Сначала проверим содержимое архива:

zip5

Распаковываем архив, сохраняя структуру подкаталогов:

zip6

Или распаковываем все файлы в одну папку, игнорируя подкаталоги:

Или вы можете указать папку, в которую нужно распаковать файлы с помощью опции -o:

7z x файл.zip -o /tmp/

Выводы

В этой статье была рассмотрена распаковка ZIP Linux, как видите, это ненамного сложнее, чем распаковка стандартных архивов TAR. Мы рассмотрели два способа ,и теперь вы точно будете знать, что делать, когда столкнетесь с такой ситуацией. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.


7-Zip — свободный файловый архиватор с высокой степенью сжатия данных благодаря формату 7z с компрессией LZMA.

Кроме формата 7z поддерживает также ZIP, GZIP, BZIP2 и TAR. Может распаковать множество других форматов, например CAB, CHM, DEB, ISO, LZMA, MSI, RAR и другие.

Формат 7z достаточно популярен среди архивов, поэтому имеет смысл иметь поддержку 7z в системе, а также создавать свои архивы в виде 7z формата, ибо сжатие с помощью 7z на 30-50% лучше, чем сжатие с помощью ZIP.

Не стоит использовать 7-Zip в целях Linux/Unix backup, потому как 7-zip не сохраняет информацию о владельцах и правах файлов (owner/group) - для этого следует использовать TAR.

В Ubuntu можно использовать консольный порт 7-Zip под POSIX системы: p7zip.

Установка

Чтобы 7-Zip был доступен в Ubuntu, установите следующие пакеты при помощи терминала:

Установить 7-Zip также можно с помощью Центра приложений Ubuntu установив два нижеописанных пакета:

p7zip-rar - Модуль для p7zip, даёт возможность распаковывать RAR-архивы.

Использование

Менеджер архивов File Roller

С помощью менеджера архивов FileRoller можно просматривать 7z архивы, для этого достаточно дважды кликнуть на *.7z файле в Nautilus.

Для распаковки необходимо вызвать контекстное меню и выбрать пункт «Распаковать сюда» в Nautilus.

Для создания архивов:

Можно открыть Менеджер архивов и перетащить в его окно требующиеся файлы/директории: Менеджер архивов предложит создать новый архив. Во время сохранения будет вожможность выбрать формат архива, т.е. 7z.

Консольный порт 7-Zip

Пакет p7zip-full содержит утилиту /usr/bin/7z

Её можно использовать для создания 7-Zip архивов.

Создание архива

Для создания архива используется команда-параметр a

Для упаковки в архив arch.7z файлов file01.foo и file02.foo в директории /home/user/TheDir, выполните в терминале

Для упаковки в архив arch.7z всего содержимого директории /home/user/TheDir, выполните в терминале

Файл arch.7z будет создаваться в текущей директории.
Можно использовать абсолютный/относительный путь, например:

В случае архивирования директории не следует писать ./TheDir/*, поскольку файлы/директории вроде ./TheDir/.profile не попадут в архив.

Дополнительные опции архивирования

Опция -t определяет формат архива на выходе.
Например -t7z устанавливает 7z формат (он же используется по умолчанию).
Также можно определить иной формат архива: zip , gzip , bzip2 или tar .

Опция -mx определяет метод компрессии, и может быть например следующих значений:

Также можно разделять архив на тома с помощью опции -v (b - байты, k - килобайты, m - мегобайты, g - гигабайты):

Если вы решили создать несколько томов, не трогайте выходные файлы до тех пор пока вся операция не будет завершена. 7-Zip может изменить любые объемы (в том числе первого тома) в конце архивирования.

Если во время процедуры архивации вы решите, что она занимает слишком много времени, можно остановить выполнение утилиты нажав Сtrl+С в терминале. Однако не забудьте удалить частично сгенерированный выходной файл. Если просто его оставить, а затем попытаться создать архив заново (с другой опцией -m например), утилита 7z отругается на ошибку: «не поддерживается архив». Ошибка возникает, потому что 7z пытается добавить файлы в существующий архив, а последний оказывается «битым».

Для большей настройки процесса архивирования можно использовать опцию -m ( -mfb -md -ms ), например:

Если архив необходимо защитить, тогда наберите в терминале:

Здесь опция опция -pqwerty123 задаёт пароль «qwerty123», а опция -mhe=on разрешает криптование заголовков.

Во всем многообразии опций как всегда поможет разобраться

Распаковка архива

Для распаковки используется команда x

Для извлечения содержимого из архива arch.7z в текущую директорию, выполните в терминале:

Если архив разбит на множество частей, используйте имя с наименьшим номером тома:

Если вы хотите извлечь архив не в текущей диретории, вы можете явно задать целевую директорию с помощью опции -o


Установка и использование 7-Zip в Linux

Формат 7-Zip впервые появился в 1999 году. Данный формат отличает высокая степень сжатия данных. По сравнению с ZIP степень сжатия 7-Zip может быть на 30-50% лучше. 7-Zip в основном используется среди пользователей Windows.

7-Zip нельзя использовать для создания резервных копий в Linux, так как формат не сохраняет информацию о правах доступа к файлам и данные о владельце.

В данной заметке мы рассмотрим, как установить поддержку 7-Zip в некоторых дистрибутивах Linux, а также как работать с 7zip-архивами.

Установка 7-Zip в Linux

Установка 7-Zip в Ubuntu, Debian

Для установки поддержки 7-Zip в Ubuntu и Debian, а также производных от них дистрибутивах (LinuxMint и др.), доступно три пакета:

  • p7zip — базовая версия, которая поддерживает только архивы в формате .7z Представляет собой порт утилиты 7za.exe для POSIX систем.
  • p7zip-full — полная версия, которая поддерживает различные алгоритмы сжатия при создании 7zip-архивов, а также другие форматы архивов. Установка данного пакета также обеспечивает поддержку 7-Zip в менеджере архивов File Roller, который используется в Ubuntu.
  • p7zip-rar — отдельный модуль для p7zip, позволяющий распаковывать RAR-архивы.

Для установки 7-Zip в Ubuntu (Debian) вы можете установить пакет p7zip-full, а также p7zip-rar для поддержки RAR. Для этого выполните в терминале команду:

Примечание: В новых версиях Ubuntu (например, в Ubuntu 18.04 и новее) 7-Zip автоматический поддерживается в файловом менеджере Nautilus. Можно создавать и распаковывать 7zip архивы.

Установка 7-Zip в Fedora, CentOS

В дистрибутивах Fedora, CentOS доступны пакеты p7zip, p7zip-plugins.

Для установки используйте следующую команду:

Установка 7-Zip в ArchLinux

Для установки поддержки 7-Zip в ArchLinux установите пакет p7zip, который доступен в официальных репозиториях дистрибутива.

Раcпаковка 7zip-архивов

Когда поддержка 7-Zip установлена, то для распаковки .7z файлов вы можете использовать графические утилиты (например, File Roller, Ark), средства файлового менеджера вашего дистрибутива (если есть поддержка), а также командую строку.

Для работы с 7-Zip архивами через командную строку используется команда 7z

Распаковать в текущую директорию

Чтобы распаковать .7z архив в текущую директорию с сохранением структуры директорий, которые находятся внутри архива, выполните в терминале команду:

Файлы архива будут распакованы в текущую директорию. Если в архиве содержатся директории, то при распаковке их структура будет сохранена.

7zip распаковать

Распаковать в определенную директорию

Чтобы распаковать архив в определенную директорию используется опция -o , за которой без пробела указывается путь до директории.

7zip распаковать в директорию

Распаковать без сохранения структуры директорий

Можно распаковать .7z архив, не сохраняя структуру директорий. То есть, если внутри архива есть директории и файлы в них, то при распаковке все файлы будут распакованы в одну директорию. Для этого используется опция (команда) e .

Создание 7zip-архива

Упаковать один файл

Чтобы создать .7z архив используется следующая команда.

В результате выполнения данной команды будет создан архив archive.7z , который содержит файл myfile.txt

7zip создать архив

Упаковать несколько файлов

Чтобы упаковать несколько файлов, перечислите их имена через пробел.

Упаковать директорию и ее содержимое

Вместо файла, при создании архива, можно указать путь до директории, которую необходимо сжать.

Добавить файлы в существующий архив

Если архив уже создан, то можно добавлять в него новые файлы. Для этого используется такая же команда, как и для создания архива, только в качестве названия архива указывается существующий файл.

Просмотр файлов в архиве

Для просмотра содержимого архива используется команда:

7zip список файлов

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

Чтобы проверить целостность архива (проверить, что архив «не битый») используется команда:

7zip протестировать

Заключение

Мы рассмотрели как установить поддержку 7-Zip в популярных дистрибутивах Linux, а также рассмотрели базовые возможности работы с 7zip-архивами.

Утилита 7z имеет много возможностей. Чтобы получить дополнительную информацию можно использовать следующие команды:


По умолчанию Linux Mint, Ubuntu и Debian не открывают архивы *.7z. Чтобы обучить свой Linux этому формату есть отдельный пакет. После его установки, архивы с расширением .7z будет открываться в стандартном менеджере архивов.

Что такое 7zip?

В 1998 году украинский программист Игорь Павлов разработал новый алгоритм сжатия LZMA , который в первой своей версии превосходил все аналоги в скорости и степени сжатия. Формат архива получил расширение .7z. В 1999 году выпускается первый релиз программы 7zip, в основу которого встал LZMA . На сегодняшний день используется уже усовершенствованный алгоритм LZMA2, что делает его еще быстрее и эффективнее. Архиватор 7zip поддерживает аппаратную инструкцию современных процессоров AES -NI, которая помогает архивировать данные на высокой скорости. Это задействует аппаратные возможности процессоров.

7zip на данный момент можно назвать «комбайном», который работает со всеми популярными форматами, даже с такими как проприетарный RAR . Архиватор WinRAR разработал тоже русский парень.

Установка 7zip в Linux

В Linux Mint и Ubuntu Вы можете пойти 2 путями:

Урезанная версия 7zip

Что умеет урезанная linux-версия 7zip:

  1. поддержку только архивов формата 7z;
  2. нет поддержки полноценной консольной утилиты, для автоматизации в скриптах.

Для этого нужно установить пакет:

В Ubuntu с версии 18.04 данный пакет входит в список установленных пакетов по умолчанию. В большинстве дистрибутивов Linux также.

Полная версия

Полная версия 7zip для Linux содержит в себе:

  1. упаковка и распаковка: 7z, BZIP2 (BZ2, TB2, TBZ , TBZ2), GZIP (GZ, TGZ ), TAR , ZIP ( JAR ), XZ, WIM ;
  2. только распаковка: ARJ , CAB , CHM , CPIO , CramFS, DEB , DMG , FAT , HFS , MBR , ISO , LZH ( LHA ), LZMA , MSI , NSIS , NTFS , RAR , RPM , SquashFS, UDF , VHD , XAR , Z ( TAR );
  3. в этой версии есть также консольный вариант для терминала – /usr/bin/7z .

Для этого нужно установить полную версию 7zip:

Для файлов RAR также предусмотрена поддержка в Linux, для которой нужно поставить отдельный пакет. Вынесли его в отдельный пакет из-за его проприетарности.

Графическая оболочка для p7zip в Linux

Если Вы не хотите использовать программу по умолчанию, есть возможность установить отдельную оболочку для 7zip для Linux – p7zip-gui .

Есть проблемы с кириллицей.

Внешний вид графической оболочки для Linux точно такой же как и в ОС Windows. К новому привыкать не придется.

Примеры работы 7zip

Данные команды будут одинаково хорошо работать как в Linux, так и в Windows. Синтаксис команд одинаковый. В консоли можно создавать скрипты для автоматического создания бэкапов критически важной информации на серверах вне зависимости какая операционная система установлена. Этим и замечателен 7zip.

Архивируем

Архивируем директорию /home/user/UserDir с параметров a (append):

Компрессия

Параметр -mx 9 явно указывать степень сжатия. Может быть от 0 до 9:

Пароль

Для того, чтобы установить пароль на архив, используем параметр -p (password):

Многотомность

Создание многотомнго архива:

Самораспаковка

Создание самораспаковывающего архива:

Вывод содержимого архива

Чтобы посмотреть содержимое архива, выполняем команду с.параметром l (list):

Распаковка архива

Разархивируем 7z-файл с параметром у (extract):

После распаковки файлы будут находится в директории /home/user/UserDir. За это отвечает параметр -o (output). Если его не использовать, файлы распакуются в текущую директорию.

Если нужно распаковать запароленный архив, то нужно запустить с параметром p (password):

Комментарии

Очень полезный пакет, качаем, лично рекоменудю

Спасибо! Мне помогло и на Мандриве 2011

Спасибо помогло, думал как же распаковать файлы движка для сайта, еще раз спасибо!!

Читайте также: