Как распаковать zip в linux

Обновлено: 07.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 при копировании материала ссылка на источник обязательна.

В наши дни мы сталкиваемся с файлами архивов очень часто и на всех платформах: Windows, Mac или Linux. Это могут быть программы, резервные копии систем или баз данных или просто архив файлов. Нам также часто приходится создавать свои архивы в Linux, чтобы передать несколько файлов друзьям или загрузить на файлообменник. В виде архивов распространяются пакеты программ, исходные коды, а также много других файлов, распространяемых на просторах интернета. Научиться выполнять архивирование файлов в Linux через терминал очень важно, возможно это вам понадобиться, когда не будет доступа к графическому интерфейсу, или просто со временем в терминале станет более приятно работать.

В этой инструкции я хочу подробно рассмотреть утилиты для архивирования в Linux, мы рассмотрим не только самую популярную и универсальную утилиту - tar, но и другие менее известные, а также популярные алгоритмы сжатия.

Архивирование в Linux

Важно отметить, что архивирование в linux это не одно и то же что и сжатие файлов linux. Архивирование - это объединение нескольких небольших файлов в один, с целю более удобной последующей передачи, хранения, шифрования или сжатия. Как я уже сказал, архивация выполняется специальными утилитами. Мы не будем трогать архивацию файлов в графическом интерфейсе, вы с ними разберетесь сами, наша тема - терминал.

Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.

Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.

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

$ tar опции f файл_для_записи /папка_файлами_для_архива

А теперь разберем основные опции:

  • A - добавить файл к архиву
  • c - создать архив в linux
  • d - сравнить файлы архива и распакованные файлы в файловой системе
  • j - сжать архив с помощью Bzip
  • z - сжать архив с помощью Gzip
  • r - добавить файлы в конец архива
  • t - показать содержимое архива
  • u - обновить архив относительно файловой системы
  • x - извлечь файлы из архива
  • v - показать подробную информацию о процессе работы
  • f - файл для записи архива
  • -C - распаковать в указанную папку
  • --strip-components - отбросить n вложенных папок

Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:

tar -cvf archive.tar.gz /path/to/files

А чтобы распаковать архив tar linux:

tar -xvf archive.tar.gz

Очень просто запомнить для упаковки используется опция c - Create, а для распаковки - x - eXtract.

Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j:

tar -zcvf archive.tar.gz /path/to/files

$ tar -zxvf archive.tar.gz

Например, рассмотрим как заархивировать папку в Linux:

tar -zcvf home.tar.gz

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

Также можно убрать сжатие:

Утилиты сжатия мы рассмотрим ниже.

Чтобы добавить файл в архив используйте:

tar -rvf archive.tar file.txt

Для извлечения одного файла синтаксис тот же:

tar -xvf archive.tar file.txt

Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:

tar -xvf archive.tar --wildcards '*.php'

По умолчанию распаковать архив tar linux можно в текущую папку с именем архива, чтобы распаковать в нужную папку используйте ключ -C:

tar -xvf archive.tar -C /path/to/dir

Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.

Shar позволяет создавать самораспаковывающиеся архивы. По сути, это скрипт оболочки, и для распаковки ему необходима оболочка Bash или другая совместимая с Bourne Shell. У Shar есть несколько преимуществ, но также он потенциально небезопасный, так как архив представляет собой исполняемый файл.

  • -o - сохранять архив в файл вместо стандартного вывода
  • -l - ограничить размер выходного файла
  • -L - ограничить размер выходного файла и разбить его на части
  • -n - имя архива не будет включено в заголовок
  • -a - разрешить автоматическую генерацию заголовков

Примеры использования shar для того чтобы заархивировать папку linux:

Создаем shar архив:

shar file_name.extension > filename.shar

Распаковываем shar архив:

ar - утилита для создания и управления архивами. В основном используется для архивации статических библиотек, но может быть использована для создания любых архивов. Раньше использовалась довольно часто но была вытеснена утилитой tar. Сейчас используется только для создания и обновления файлов статических библиотек.

  • - d - удалить модули из архива
  • - m - перемещение членов в архиве
  • - p - напечатать специфические члены архива
  • - q - быстрое добавление
  • - r - добавить члена к архиву
  • - s - создать индекс архива
  • - a - добавить новый файл к существующему архиву

Теперь рассмотрим примеры использования. Создадим статическую библиотеку libmath.a из объектных файлов substraction.o и division.o:

ar cr libmath.a substraction.o division.o

Теперь извлечем файлы из архива:

Таким образом, можно распаковать любую статическую библиотеку.

cpio - означает Copy in and out (скопировать ввод и вывод). Это еще один стандартный архиватор для Linux. Активно используется в менеджере пакетов Red Hat, а также для создания initramfs. Архивация в Linux для обычных файлов с помощью этой программы не применяется.

  • -a - сбросить время обращения к файлам после их копирования
  • -A - добавить файл
  • -d - создать каталоги при необходимости

Пример использования. Создаем cpio архив:

file1.o file2.o file3.o

ls | cpio -ov > /path/to/output_folder/obj.cpio

cpio -idv < /path/to folder/obj.cpio

Архивирование папки linux выполняется также само.

Сжатие архивов в Linux

Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них

Чаще всего применяется Gzip. Это стандартная утилита сжатия в Unix/Linux. Для декомпрессии используется gunzip или gzip -d Сначала рассмотрим ее синтаксис:

$ gzip опции файл

$ gunzip опции файл

Теперь разберем опции:

  • -c - выводить архив в стандартный вывод
  • -d - распаковать
  • -f - принудительно распаковывать или сжимать
  • -l - показать информацию об архиве
  • -r - рекурсивно перебирать каталоги
  • -0 - минимальный уровень сжатия
  • -9 - максимальный уровень сжатия

Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:

gzip -c файл > архив.gz

А теперь распакуем:

gunzip -c архив.gz

Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.

bzip2 - еще одна альтернативная утилита сжатия для Linux. Она более эффективная чем gzip, но работает медленнее. Для распаковки используйте утилиту bunzip2.

Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:

В текущем каталоге будет создан файл file.bz2

Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.

Еще один высокоэффективный алгоритм сжатия. Обратно совместимый с Lzma. Параметры вызова тоже похожи на Gzip.

Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.

$ zip опции файлы

$ unzip опции архив

Чтобы создать Zip архив в Linux используйте:

zip -r /path/to/files/*

А для распаковки:

Как видите архивирование zip в Linux не сильно отличается от других форматов.

Выводы

Теперь вы знаете все что нужно об архивации файлов в Linux. Мы рассмотрели только консольные команды, так сказать, чтобы была понятна суть. В графическом интерфейсе все еще проще. Если остались вопросы - задавайте их в комментариях.

В операционной системе Windows часто используются два формата архивов, это ZIP и RAR. Они наиболее часто применяются для сжатия файлов и хранения их на компьютере. Но в Linux немного другая система, здесь для сжатия всех данных используется формат tar.gz. По умолчанию в системе не поставляются инструменты для работы с архивами форматов Linux.

В одной из предыдущих статей мы рассматривали как распаковать zip в Linux. В сегодняшней статье мы сосредоточимся на втором формате и рассмотрим как распаковать rar linux. Рассмотрим несколько способов и утилит, с помощью которых вы сможете решить эту задачу.

Как распаковать RAR в Linux

Формат RAR был разработан российским программистом, Евгением Рошалом, отсюда и название формата - Roshal ARchiver. Изначально формат был разработан для DOS и поддерживал несколько улучшений по сравнению с уже использовавшимся тогда ZIP. Сразу была поддержка большого количества файлов, разбиения архива на части и создания самораспаковывающихся архивов.

Распаковка rar linux выполняется с помощью утилиты unrar. А упаковка архива командой rar. Обычно она не поставляется в системе по умолчанию, но вы можете очень просто установить ее из официальных репозиториев. Для установки утилиты в Ubuntu выполните такую команду:

sudo apt install unrar

В Fedora и других системах, использующих пакеты rpm, имя будет точно таким же, только будет отличаться пакетный менеджер:

sudo yum install unrar
sudo dnf install unrar

Перед тем как перейти к работе с командой и рассмотрению того как распаковать rar linux давайте рассмотрим ее синтаксис:

$ unrar команда опции архив файлы путь_для_расспаковки

Основной смысл работы утилиты уже понятен, но рассмотрим ее параметры подробнее:

  • e - распаковать архив;
  • l - вывести список файлов внутри архива;
  • p - вывести распакованный файл в стандартный вывод;
  • t - проверить архив;
  • v - вывести подробную информацию про архив;
  • x - извлечь файлы, сохраняя полный путь внутри архива.

Опции настраивают поведение утилиты, рассмотрим основные опции, которые могут вам понадобиться:

Основные опции, которые вам могут понадобиться мы рассмотрели, теперь давайте приведем несколько примеров как работать с утилитой. Чтобы извлечь файлы из архива в текущую папку достаточно передать утилите имя архива и команду e:

unrar e file.rar

rar4

Вы можете вывести содержимое архива, ничего не распаковывая с помощью команды l:

unrar l file.rar

rar1

Чтобы сохранять полный путь, который прописан в архиве нужно использовать команду x:

unrar x file.rar

rar

Также вы можете проверить архив на целостность с помощью команды t:

unrar t file.rar

rar2

Кроме того, вы можете указать папку, в которую стоит распаковывать файлы:

unrar e file.rar

rar3

Это все команды unrar, которые вам могут понадобиться при повседневной работе с архивами, обратите внимание, что после установки утилиты unrar многие менеджеры архивов, например, Arc, теперь тоже поддерживают этот формат:

rar5

Но без этой утилиты вы получите ошибку что утилита не знает что это за формат архива. Всем графическим программам нужен этот rar архиватор linux.

Выводы

В этой небольшой статье мы рассмотрели как выполняется распаковка rar linux с помощью утилиты unrar или других графических утилит. Как видите, все делается очень просто, если у вас остались вопросы о том, как разархивировать rar linux, спрашивайте в комментариях!

Как распаковать Zip-архив в Linux

Zip - один из самых распространенных и популярных способов создания сжатых архивных файлов. Это также один из старых архивных форматов файлов, созданных в 1989 году. Вы будете регулярно сталкиваться с ZIP-файлами, так как этот формат очень широко используется.

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

Прежде, чем начать: Убедитесь, что у вас установлена утилита unzip

Для того чтобы распаковать zip-архив, в системе должен быть установлен пакет распаковки. Большинство современных дистрибутивов Linux поставляются с поддержкой unzip, но нет ничего плохого в том, чтобы проверить это, чтобы избежать неприятных сюрпризов.

В дистрибутивах на базе Ubuntu и Debian вы можете использовать команду ниже для установки пакета unzip. Если он уже установлен, вы будете уведомлены об этом.

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

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

Распаковка с помощью команд Linux

Использовать команду распаковки в Linux проще простого. В каталоге, в котором находится ZIP-файл, напишите эту команду:

Вы также можете указать путь к zip-файлу вместо того, чтобы переходить в каталог. На выходе вы увидите распакованные файлы:

Возникла небольшая проблема с приведенной выше командой. Она извлечет все содержимое zip-файла в текущей директории. Это не очень приятно, потому что у вас будет горстка файлов, оставляющих текущую директорию неорганизованной.

Распаковка в каталог

Хорошей практикой является распаковка архива в каталог в терминале Linux. Таким образом, все распакованные файлы будут храниться в указанном месте. Если каталог не существует, он будет создан.

Теперь все содержимое архива zipped_file.zip будет распаковано в каталог unzipped_directory.

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

Просмотр содержимого архива без распаковки

Вы можете проверить содержимое zip-файла даже не извлекая его с помощью опции -l.

Вот, что выведет терминал после ввода:

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

Распаковка в графическом интерфейсе Ubuntu

Вам не всегда нужно заходить в терминал, если вы используете Desktop-версию Linux. Давайте посмотрим, как распаковать архив в Ubuntu Linux графически. Я использую GNOME desktop с Ubuntu 18.04, но этот процесс практически такой же, как и в других дистрибутивах Linux.

Откройте файловый менеджер и перейдите в папку, в которой хранится ваш zip-файл. Щелкните правой кнопкой мыши на файле и выберите опцию "извлечь здесь".


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

Существует также опция 'извлечь в', с помощью которой вы можете указать папку, в которую хотите извлечь файлы.

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

Если у вас есть вопросы или предложения, дайте мне знать в разделе комментариев.

Как распаковать Zip файл в Linux

Zip - это один из самых распространенных и наиболее популярных способов создания сжатых архивных файлов. Это также один из самых старых форматов архивных файлов, он был создан в 1989 году. Поскольку он широко используется, вы будете регулярно сталкиваться с zip-файлами.

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

Важно: Проверьте, установлен ли у вас unzip.

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

В дистрибутивах на базе Ubuntu и Debian для установки unzip можно использовать приведенную ниже команду. Если пакет уже установлен, вы получите уведомление об этом.

После того как вы убедились, что в вашей системе есть поддержка unzip, пришло время распаковать zip-файл в Linux.

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

  • Распаковка файлов в терминале Linux
  • Распаковка файлов в Ubuntu с помощью графического интерфейса пользователя

Распаковка файла в терминале Linux

Использовать команду unzip в Linux очень просто. В каталоге, где находится zip-файл, используйте такую команду:

Вы также можете указать путь к zip-файлу вместо перехода к каталогу. Вы увидите извлеченные файлы в выводе:

Существует небольшая проблема с приведенной выше командой. Она извлечет все содержимое zip-файла в текущий каталог. Это не очень красиво, потому что у вас будет горстка файлов, оставляющих текущий каталог неорганизованным.

Распаковка в каталог

Хорошей практикой является распаковка в каталог в командной строке Linux. Таким образом, все извлеченные файлы будут храниться в указанной вами директории. Если каталог не существует, он будет создан.

Теперь все содержимое файла zipped_file.zip будет извлечено в каталог unzipped_directory.

Поскольку мы обсуждаем передовой опыт, еще один совет, который вы можете использовать, - посмотреть на содержимое zip-файла, не распаковывая его.

Просмотр содержимого zip-файла без его распаковки

Вы можете проверить содержимое zip-файла, даже не извлекая его, с помощью опции -l.

Вот пример вывода:

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

Unzip files in Linux using GUI

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

Откройте файловый менеджер и перейдите в папку, где хранится ваш zip-файл. Щелкните файл правой кнопкой мыши, и вы увидите опцию "извлечь здесь". Выберите этот пункт меню.


В отличие от команды unzip, опции "извлечь здесь" создают папку с тем же именем, что и заархивированный файл, и все содержимое заархивированных файлов извлекается в эту вновь созданную папку. Я рад, что это поведение по умолчанию, а не извлечение всего содержимого в текущий каталог.

Также есть опция "извлечь в", с помощью которой вы можете указать папку, в которую хотите извлечь файлы.

Вот и все. Теперь вы знаете, как разархивировать файлы в Linux. Если у вас есть вопросы или предложения, дайте мне знать в разделе комментариев.

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