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

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

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

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

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

Установка 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-файлы не хранят информацию о владельце. Извлечённые файлы принадлежат пользователю , запустившему команду.

У вас должны быть права на запись в каталог, в который вы извлекаете 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-файл

Если у вас есть ZIP-архив, защищённый паролем, и вы хотите извлечь его содержимое, вы можете использовать команду unzip с опцией -P . Эта опция позволяет указать пароль, необходимый для открытия файла. После ввода правильного пароля содержимое ZIP-архива будет извлечено в текущий каталог.

 unzip -P PasswOrd filename.zip

Ввод пароля в командной строке небезопасен и его следует избегать. Более безопасный вариант — выполнить команду без параметра -P .

Если zip-файл защищен паролем, unzip предложит вам ввести пароль:

 unzip filename.zip

Введите пароль и нажмите Enter.

 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-архива. Теперь вам нужно восстановить удалённые файлы из 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 2023-08-02 22:39 wordpress/ 3065 2021-08-31 18:31 wordpress/xmlrpc.php 364 2021-12-19 12:20 wordpress/wp-blog-header.php 7415 2023-03-18 17:13 wordpress/readme.html ... ... 21323 2023-03-09 01:15 wordpress/wp-admin/themes.php 8353 2022-09-10 18:20 wordpress/wp-admin/options-reading.php 4620 2021-10-24 00:12 wordpress/wp-trackback.php 1889 2023-05-03 00:11 wordpress/wp-comments-post.php --------- ------- 27271400 1648 files

Заключение

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

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

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

распаковать терминал

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *