Команда 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. Начните организовывать свои файлы прямо сейчас!