Repeater-zone.ru

ПК Репитер
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как создавать и распаковывать архивы zip в консоли Linux

Возможно, вы уже знаете, что Linux и Unix-подобные операционные системы, такие как macOS, имеют инструменты, позволяющие создавать ZIP-файлы и извлекать из них файлы, называемые zip и unzip . Но есть целый ряд связанных утилит, таких как zipcloak , zipdetails, zipsplit и zipinfo.

Мы проверили некоторые дистрибутивы Linux, чтобы увидеть, включают ли они эти утилиты в стандартную установку. Все утилиты присутствовали в Ubuntu 19.04, 18.10 и 18.04. Они также присутствовали в Манджаро 18.04. Fedora 29 включала zip и unzip , но ни одну из других утилит, и это также относится к CentOS.

Чтобы установить недостающие элементы в Fedora 29, используйте следующую команду:

Чтобы установить недостающие элементы в CentOS 7, используйте следующую команду:

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

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

Формат ZIP был создан в 1989 году на замену очень медленному формату ARC. Здесь используется сжатие deflate, и на то время оно работало намного быстрее чем ARC.

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

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

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

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

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

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

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

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

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

Консольный порт 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

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

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

  • Папка 1 — filea.txt, fileb.txt, filec.txt
  • Папка 2 — filed.txt, filee.txt
  • Папка 3 — filef.txt

Если бы я хотел, чтобы все .txt-файлы извлекались в текущую папку без воссозданных папок, я бы использовал ключ -j следующим образом:

Декомпретируйте файл без запроса, когда уже существуют файлы

Читать еще:  Как установить шрифт в PowerPoint: рабочая инструкция

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

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

Это нормально, но если вы извлекаете файл с 1000 файлами в нем, вы не хотите получать подсказки каждый раз.

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

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

Команда Unzip в Linux -Распаковка нескольких архивов Zip за один раз

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

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

Оказавшись внутри каталога «Загрузки», можно начинать извлечение. Используя команду ниже, извлеките каждый ZIP-архив сразу с помощью Unzip.

Когда процесс распаковки будет завершен, все содержимое Zip-архивов в каталоге «Загрузки» будет извлечено.

    • Гость
    • 25.11.2020 08:16

    не работает от слова совсем.

    • Ответить
      • AJIekceu4
      • 26.11.2020 19:53

      Очень подробно. Если в статье есть неточности, то было бы куда правильней на них указать (конкретику), а не писать расплывчатые фразы.

      • Ответить
      • Аноним
      • 06.05.2020 09:38

      Спасибо. Но это слишком тривиально и есть везде. Как распаковать из полного архива 1 папку с файлами в каждом случае н.п. /lib/modules/* ? Заранее признателен

      • Ответить
        • AJIekceu4
        • 06.05.2020 10:06

        Тип архива то какой? zip,rar,tar.

        • Ответить
        • Recluse
        • 06.05.2020 10:25

        Для unzip это будет так:

        Для tar архивов (очень важно не написать «/» в начале пути к директории в архиве):

        Распаковываем архивы формата ZIP в Linux

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

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

        Читайте также: Установка RPM-пакетов / DEB-пакетов в Ubuntu

        Способ 1: Unzip

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

          Для начала запустите «Терминал» любым удобным методом, например, через меню.

        Запуск классической консоли в Linux

        Установка программы Unzip через консоль в Linux

        Ввод пароля для установки Unzip в Linux

        Завершение установки Unzip в Linux

        Переход к свойствам архива в Linux

        Определение родительской папки архива в Linux

        Переход к необходимой папке в консоли Linux

        Распаковать архив через Unzip в Linux

        Завершение распаковки архива через Unzip в Linux

        Выбрать место для распаковки архива через Unzip в Linux

        Распаковка архива через Unzip в заданное место Linux

        Просмотреть содержимое архива через Unzip в Linux

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

        • -u — обновление существующих файлов в директории;
        • -v — отображение всей доступной информации об объекте;
        • -P — установка пароля для получения разрешения на распаковку архива (в случае наличия шифрования);
        • -n — не перезаписывать уже существующие файлы в месте распаковки;
        • -j — игнорирование структуры архива.

        Как видите, ничего сложного в управлении утилитой под названием Unzip нет, но подходит она не всем пользователям, поэтому советуем ознакомиться со вторым методом, где будет применяться более распространенное решение.

        Способ 2: 7z

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

          Откройте консоль и загрузите последнюю версию 7z с официального репозитория, введя команду sudo apt install p7zip-full , а обладателям Red Hat и CentOS потребуется указать sudo yum install p7zip .

        Команда для установки 7z в Linux

        Подтвердить добавление файлов для 7z в Linux

        Просмотр файлов архива через утилиту 7z в Linux

        Распаковать содержимое архива через 7z в Linux

        Подтвердить замену файлов для 7z в Linux

        Как и в случае с Unzip, в 7z есть ряд своих дополнительных аргументов, советуем тоже ознакомиться с основными из них:

        • e — извлечение файлов с указанием пути (при использовании x путь сохраняется прежний);
        • t — проверка архива на целостность;
        • -p — указание пароля от архива;
        • -x + перечень файлов — не распаковывать заданные объекты;
        • -y — положительные ответы на все поставленные вопросы во время распаковки.

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

        ЗакрытьМы рады, что смогли помочь Вам в решении проблемы.

        Помимо этой статьи, на сайте еще 12369 инструкций.
        Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

        Отблагодарите автора, поделитесь статьей в социальных сетях.

        ЗакрытьОпишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

        0 0 голоса
        Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты