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

How to Unzip Files in Linux

22 Июня 2020 | Терминал


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




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

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


Установка unzip

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

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

sudo apt install unzip 

Установить unzip на CentOS и Fedora

sudo yum install unzip 


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

В простейшем случае unzip команда без каких-либо параметров извлекает все файлы из указанного ZIP-архива в текущий каталог.

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

unzip latest.zip 

ZIP-файлы не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю, который запускает команду.

У вас должны быть права на запись в каталог, в который вы распаковываете ZIP-архив.


Подавить вывод unzip команды

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

Используйте -q переключатель, чтобы подавить печать этих сообщений.

unzip -q filename.zip 


Распакуйте ZIP-файл в другой каталог

Чтобы разархивировать ZIP-файл в каталог, отличный от текущего, используйте -d переключатель:

unzip filename.zip -d /path/to/directory 

Например, чтобы разархивировать архив WordPress latest.zip в /var/www/ каталог, вы должны использовать следующую команду:

sudo unzip latest.zip -d /var/www 

В приведенной выше команде мы используем, sudo потому что обычно пользователь, в который мы вошли, не имеет разрешения на запись в /var/www каталог. Когда файлы ZIP распаковываются с использованием sudo , извлеченные файлы и каталоги принадлежат пользователю root.


Распакуйте ZIP-файл, защищенный паролем

Чтобы разархивировать файл, защищенный паролем, вызовите unzip команду с -P параметром, за которым следует пароль:

unzip -P PasswOrd filename.zip 

Ввод пароля в командной строке небезопасен и его следует избегать. Более безопасным вариантом является обычное извлечение файла без указания пароля. Если файл ZIP зашифрован, unzip вам будет предложено ввести пароль:

unzip filename.zip 
archive:  filename.zip
[filename.zip] file.txt password: 
 

unzip будет использовать один и тот же пароль для всех зашифрованных файлов, если он правильный.


Исключить файлы при распаковке ZIP-файла

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

unzip filename.zip -x file1-to-exclude file2-to-exclude 

В следующем примере мы извлекаем все файлы и каталоги из архива ZIP, кроме .git каталога:

unzip filename.zip -x "*.git/*" 


Перезаписать существующие файлы

Допустим, вы уже распаковали ZIP-файл и снова запускаете ту же команду:

unzip latest.zip 

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

Archive:  latest.zip
replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
 

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

unzip -o filename.zip 

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


Распакуйте ZIP-файл без перезаписи существующих файлов

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

В этом случае используйте -n параметр, который заставляет unzip пропустить извлечение файла, который уже существует:

unzip -n filename.zip 


Распакуйте несколько ZIP-файлов

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

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

unzip '*.zip' 

Обратите внимание на одинарные кавычки *.zip . Если вы забыли процитировать аргумент, оболочка расширит символ подстановки, и вы получите ошибку.


Перечислите содержимое файла Zip

Чтобы просмотреть содержимое файла ZIP, используйте -l параметр:

unzip -l filename.zip 

В приведенном ниже примере мы перечисляем все установочные файлы WordPress:

unzip -l latest.zip 

Вывод будет выглядеть так:

Archive:  latest.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-08-02 22:39   wordpress/
     3065  2016-08-31 18:31   wordpress/xmlrpc.php
      364  2015-12-19 12:20   wordpress/wp-blog-header.php
     7415  2018-03-18 17:13   wordpress/readme.html
...
...
    21323  2018-03-09 01:15   wordpress/wp-admin/themes.php
     8353  2017-09-10 18:20   wordpress/wp-admin/options-reading.php
     4620  2017-10-24 00:12   wordpress/wp-trackback.php
     1889  2018-05-03 00:11   wordpress/wp-comments-post.php
---------                     -------
 27271400                     1648 files
 


Вывод

unzip это утилита, которая помогает вам составлять список, тестировать и извлекать сжатые ZIP-архивы.

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


    Комментарии

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

Загрузка комментариев...