Как разархивировать файлы в Linux

12 set 2022 3 min di lettura
Как разархивировать файлы в Linux
Indice dei contenuti

Введение

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

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

Что такое разархивировать?

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

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

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

sudo apt install unzip

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

sudo yum install unzip

Как разархивировать ZIP-файл

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

unzip filename.zip

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

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

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

unzip latest.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-файл

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

unzip -P PasswOrd filename.zip

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

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

unzip filename.zip -x file-to-exclude

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

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

Как перезаписать существующие файлы при использовании Unzip

Допустим, вы уже разархивировали 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

Вывод

Мы говорили о том, как разархивировать файлы в Linux из командной строки.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.