Команда Unzip в Linux, или Как Распаковать Архив

Архивирование и распаковка файлов упрощает множество задач, но главная из них — передача файлов! В этом руководстве вы узнаете, как использовать команду unzip в Linux для оптимизации процесса работы с вашим VPS!

Zip — это часто используемая функция сжатия. Она портативна и проста в использовании. Вы даже можете распаковать в Windows файлы, созданные в Linux!

Утилита Unzip по умолчанию недоступна в большинстве дистрибутивов Linux, но её легко установить. С .zip можно добиться уровня сжатия, аналогичного .tar.gz.

Ниже приведены несколько сценариев, в которых вы можете использовать zip-файлы:

  • Когда вы работаете с системами на базе Windows и Unix и часто переключаетесь между ними. Архиватор не только сжимает файлы, но также является служебной программой для создания пакетов файлов. Работает на нескольких операционных системах;

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

  • Для быстрого переноса файлов. Утилита Zip уменьшает размер файла, что сокращает время его переноса;
  • Более быстрая загрузка и скачивание директорий;

  • Экономия места на диске;

  • Распаковка защищённых паролем архивов .zip

  • Когда нужна хорошая степень сжатия

Помните, для того, чтобы использовать unzip в Linux, сначала вам необходимо подключиться к серверу VPS по SSH.

Установка unzip в Debian и Ubuntu

Установить unzip очень просто! В Ubuntu и Debian используйте команду:

sudo apt install unzip

Затем устройтесь поудобнее и немного подождите, пока установка не будет завершена.

Чтобы создавать zip-файлы, вам также необходимо установить zip. Вы можете сделать это с помощью следующей команды:

sudo apt-get install zip

Установите Unzip в Linux — CentOS и Fedora

Здесь всё тоже очень просто, используйте следующую команду:

sudo yum install unzip

По завершению установки можете проверить путь с помощью следующей команды:

which unzip

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

/usr/bin/unzip

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

unzip -v

Как использовать Zip и Unzip в Linux

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

Создание zip-файлов в Linux

Базовый синтаксис для создания файла .zip:

zip опции zip-файл список_файлов

В качестве примера мы заархивируем два файла — ExampleFile.txt и ExampleFile1.txt. Упакуем мы их в архив sampleZipFile.zip с помощью следующей команды:

zip sampleZipFile.zip ExampleFile.txt ExampleFile1.txt

Распаковка файлов в Linux

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

unzip sampleZipFile.zip

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

Удаление файла из архива .zip

Вы можете удалять файлы в созданном вами архиве .zip. Например, если вы хотите удалить ExampleFile.txt из существующего sampleZipFile.zip, вы можете использовать следующую команду:

zip –d sampleZipFile.zip ExampleFile.txt

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

unzip sampleZipFile.zip

При этом вы обнаружите, что файл ExampleFile.txt был удалён и больше не отображается при извлечении.

Как добавить файлы в существующий Zip-архив

Вы можете добавить новый файл к уже существующему архиву .zip. Допустим вам необходимо добавить новый файл ExampleFile2.txt в уже существующий файл sampleZipFile.zip. Вы можете сделать это с помощью команды:

zip –u sampleZipFile.zip ExampleFile2.txt

Теперь, если вы распакуете архив sampleZipFile.zip, то обнаружите среди файлов новый ExampleFile2.txt.

Перемещаем файл в ZIP-архив

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

zip –m sampleZipFile.zip ExampleFile2.txt

Рекурсивное использование Zip в Linux

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

zip –r sampleZipFile.zip MyDirectory

В этом примере MyDirectory — это каталог, содержащий несколько файлов и подкаталогов для архивирования.

Исключить файлы из ZIP-архива

При создании архива .zip вы можете исключить ненужные файлы. Это делается с помощью опции -x. Ниже приведён пример:

zip -x sampleZipFile.zip ExampleFile.txt

В этом примере ExampleFile.txt не будет добавлен в архив sampleZipFile.zip вместе с остальными.

Распаковать в другой каталог

Если вы не хотите распаковывать файлы в текущий каталог, а указать определённое местоположение, используйте параметр -d. Это позволит вам указать путь к каталогу, куда вы хотите распаковать архив. Пример такой команды показан ниже:

unzip sampleZipFile.zip -d /usr/sampleZip/ExampleDir

Распаковка нескольких ZIP-архивов

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

unzip ‘*.zip’

Эта команда распакует все отдельные zip-файлы.

Свернуть вывод при распаковке архива в Linux

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

unzip -q sampleZipFile.zip

Исключение файлов с помощью Unzip в Linux

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

unzip sampleZipFile.zip -x excludedFile.txt

В этом примере команда распакует все файлы, кроме excludedFile.txt.

Также вы можете запретить извлечение определённых типов файлов. Один из таких примеров показан ниже:

unzip sampleZipFile.zip -x "*.png/*"

Вышеупомянутая команда исключит из извлечения все файлы .png.

Использование Unzip в Linux с архивами, защищёнными паролем

Защищённый паролем архив .zip можно распаковать с помощью параметра -P. Пример такой команды показан ниже:

unzip -P Пароль sampleZipFile.zip

В приведённой выше команде слово «Пароль» нужно заменить паролем от файла .zip.

Замена Zip-файлов

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

Варианты будут выглядеть следующим образом:

[y]es, [n]o, [A]ll, [N]one, [r]ename

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

unzip -o sampleZipFile.zip

Но будьте осторожны, выполнении этой команды полностью перезапишет существующие копии. Любые изменения, внесённые в предыдущую копию, будут перезаписаны.

Использование Linux Unzip без перезаписи файлов

Если вы распаковали архив и внесли некоторые изменения, но случайно удалили несколько файлов, вы можете использовать эту опцию для их восстановления! Используйте параметр -n, чтобы пропустить извлечение, если файл уже существует. Таким образом, будут распакованы только удалённые ранее файлы. Пример такой команды:

unzip -n sampleZipFile.zip

Как вывести список содержимого ZIP-архива в Linux

Опция -l перечислит все файлы в .zip вместе с временем и другой важной информацией о файлах. Пример такой команды:

unzip -l sampleZipFile.zip

Итоги

Вот и всё, вы познакомились со всеми основными функциями утилит для архивирования zip и unzip в Linux. Начните организовывать свои файлы прямо сейчас!

Author
Автор

Olha L.

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов'язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.