- Команда Linux unzip
- Есть несколько способов разархивировать файлы с помощью этой команды
- Распаковать отдельные ZIP-файлы
- Распаковать несколько файлов ZIP
- Исключить некоторые ZIP-файлы
- Извлечь ZIP-файл в другой каталог
- Как показать содержимое сжатого Zip-файла
- Как проверить, является ли ZIP-файл действительным
- См. Подробную информацию в файле ZIP
- Распакуйте ZIP-файл без создания каталогов
- Распакуйте ZIP-файл без запроса перезаписи
- Извлечение защищенных паролем ZIP-файлов
- Разархивируйте файл, не отображая вывод
- Как разархивировать файлы в Linux
- Установка unzip
- Установите unzip на Ubuntu и Debian
- Установите unzip на CentOS и Fedora
- Как разархивировать ZIP-файл
- Подавить вывод команды unzip
- Разархивируйте ZIP-файл в другой каталог
- Разархивируйте ZIP-файл, защищенный паролем
- Исключить файлы при распаковке ZIP-файла
- Перезаписать существующие файлы
- Разархивируйте ZIP-файл без перезаписи существующих файлов
- Разархивируйте несколько файлов ZIP
- Список содержимого Zip-файла
- Выводы
Команда Linux unzip
Есть несколько способов разархивировать файлы с помощью этой команды
Архивирование файлов – это простой и эффективный способ передачи данных между компьютерами и серверами. Когда файлы сжимаются, они не только экономят дисковое пространство на локальном диске, но и облегчают и делают более удобной загрузку файлов из Интернета, используя гораздо меньшую пропускную способность, чем отправка полноразмерных файлов.
Когда вы получаете сжатый архив в Linux, распаковать его так же просто. В Linux доступно множество переключателей, что означает, что у вас есть много способов извлечь файлы с помощью команды unzip в командной строке.
Распаковать отдельные ZIP-файлы
Основной синтаксис для распаковки файла:
распаковать имя файла
Например, скажем, вы загрузили альбом с названием Угроза трезвости . Чтобы распаковать этот файл в текущую папку, вам нужно просто выполнить следующую команду:
Распакуйте "Угроза трезвости"
Распаковать несколько файлов ZIP
Команда man позволяет распаковывать более одного файла за раз, используя следующий синтаксис:
распаковать имя файла1 имя файла2 имя файла3
Если вы заархивировали три файла альбомов Алисы Купер с именами Trash , Hey Stoopid и Dragontown по отдельности, вы можете попробовать разархивировать их. их:
распакуйте "Trash.zip" "Dragontown.zip" "Привет Stoopid.zip"
Тем не менее, вы получите эту ошибку:
Архив: Trash.zip Внимание: имя файла не совпадает: Dragontown.zip
Предполагая, что эти три файла находятся в одной папке, лучше использовать следующую команду:
распаковать '* .zip'
Будьте осторожны, хотя. Эта команда неразборчива и распаковывает каждый ZIP-файл в текущей папке.
Исключить некоторые ZIP-файлы
Если у вас есть ZIP-файл, и вы хотите извлечь все файлы, кроме одного, используйте переключатель -x .
разархивируйте filename.zip -x filetoexclude.zip
Чтобы продолжить наш пример, альбом “Trash” в Trash.zip имеет MP3 под названием Bed Of Nails . Чтобы извлечь все песни, кроме “Bed Of Nails”, вы должны сделать следующее:
разархивируйте Trash.zip -x "Bed Of Nails.mp3"
Извлечь ZIP-файл в другой каталог
Если вы хотите поместить содержимое файла ZIP в каталог, отличный от текущего, используйте переключатель -d .
разархивировать filename.zip -d путь/к/извлечь/к
Например, чтобы распаковать файл Trash.zip в файл /home/music/Алиса Купер/Trash , вы должны использовать следующий синтаксис:
распаковать Trash.zip -d "/ home/music/Алиса Купер/Trash"
Как показать содержимое сжатого Zip-файла
Чтобы просмотреть содержимое сжатого файла, используйте переключатель -l .
разархивируйте -l filename.zip
В нашем примере мы могли бы использовать этот переключатель, чтобы увидеть все файлы в Trash.zip .
распаковать -l Trash.zip
Возвращенная информация включает в себя:
Как проверить, является ли ZIP-файл действительным
Чтобы проверить, правильно ли структурирован ZIP-файл и можно ли его правильно использовать перед извлечением, используйте переключатель -t .
разархивируйте -t filename.zip
Например, чтобы проверить, является ли Trash.zip допустимым, вы можете выполнить следующее:
распаковать -t Trash.zip
Каждый файл указан в списке, и рядом с ним должно появиться ОК . В нижней части вывода должно появиться сообщение о том, что ошибок в сжатых данных … не обнаружено.
См. Подробную информацию в файле ZIP
Переключатель -v (подробный) может дать более подробную информацию.
разархивировать -v имя файла
Чтобы использовать этот переключатель с Trash.zip для просмотра дополнительной информации, мы набрали бы:
распакуйте -v корзину.почтовый индекс
Вывод содержит следующую информацию:
- Длина в байтах
- метод
- Размер
- Процент сжатия
- Дата и время создания
- CRC
- название
Распакуйте ZIP-файл без создания каталогов
Для файлов ZIP, в которых есть папки, выполнение разархивировать в одиночку без переключателей приведет к повторному созданию такой же структуры папок из архива.
Например, при извлечении filename1.zip , который имеет следующие три папки, будут извлечены те же самые папки:
- Папка 1: filea.txt, fileb.txt, filec.txt
- Папка 2: filed.txt, filee.txt
- Папка 3: filef.txt
В этом примере, чтобы извлечь все файлы TXT в текущую папку, не создавая эти три папки, просто добавьте -j в конец команды.
разархивируйте -j filename1.zip
Распакуйте ZIP-файл без запроса перезаписи
Предположим, вы уже распаковали определенный ZIP-файл и начали работать с распакованными файлами, изменяя и обновляя их по своему усмотрению. Последнее, что вам нужно, это перезаписать эти файлы при извлечении ZIP-файла, содержащего файлы с такими же именами. Вы сразу потеряете все, над чем работали, когда новые файлы заменят ваши существующие.
Однако вы можете использовать переключатель -n , если хотите не перезаписывать существующие файлы. Каждый файл из архива ZIP, имя которого соответствует файлу в извлеченной папке, не будет перезаписывать что-либо при использовании этого параметра. Однако все остальное, имеющее уникальное имя, будет извлечено.
разархивируйте -n filename.zip
Если вам все равно, существует ли файл, и вы всегда хотите перезаписать файлы, когда они извлекаются без запроса, используйте переключатель -o .
разархивируйте -o filename.zip
Извлечение защищенных паролем ZIP-файлов
Если вам нужно разархивировать файл, для доступа к которому требуется пароль, используйте переключатель -p , а затем пароль.
распаковать -P пароль filename.zip
Например, чтобы разархивировать файл с именем cats.zip с паролем kittens123 , используйте следующее:
распаковать -P котята123 filename.zip
Разархивируйте файл, не отображая вывод
По умолчанию команда unzip перечисляет все, что она делает, включая отображение всех файлов в архиве по мере их извлечения командой. Вы можете подавить этот вывод, используя переключатель -q .
разархивируйте -q filename.zip
Это распаковывает имя файла без предоставления какого-либо вывода и возвращает вас к курсору, когда он закончил.
Как разархивировать файлы в Linux
ZIP — это наиболее широко используемый формат архивных файлов, поддерживающий сжатие данных без потерь. ZIP-файл — это контейнер данных, содержащий один или несколько сжатых файлов или каталогов.
В этом руководстве мы объясним, как разархивировать файлы в системах Linux через командную строку с помощью команды unzip .
Установка unzip
unzip не устанавливается по умолчанию в большинстве дистрибутивов Linux, но вы можете легко установить его с помощью диспетчера пакетов вашего дистрибутива.
Установите unzip на Ubuntu и Debian
Установите unzip на CentOS и Fedora
Как разархивировать ZIP-файл
В простейшей форме, при использовании без какой-либо опции, команда unzip извлекает все файлы из указанного архива ZIP в текущий каталог.
В качестве примера предположим, что вы загрузили установочный ZIP-файл WordPress . Чтобы распаковать этот файл в текущий каталог, вы просто выполните следующую команду:
Файлы ZIP не поддерживают информацию о владельце в стиле Linux. Извлеченные файлы принадлежат пользователю , выполняющему команду.
У вас должны быть права на запись в каталог, в который вы распаковываете ZIP-архив.
Подавить вывод команды unzip
По умолчанию unzip распечатывает имена всех извлекаемых файлов и сводку по завершении извлечения.
Используйте переключатель -q чтобы запретить печать этих сообщений.
Разархивируйте ZIP-файл в другой каталог
Чтобы распаковать ZIP-файл в каталог, отличный от текущего, используйте переключатель -d :
unzip filename.zip -d /path/to/directory
Например, чтобы распаковать архив WordPress latest.zip в 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 предложит ввести пароль:
archive: filename.zip [filename.zip] file.txt password:
unzip будет использовать один и тот же пароль для всех зашифрованных файлов, если он правильный.
Исключить файлы при распаковке ZIP-файла
Чтобы исключить определенные файлы или каталоги из извлечения, используйте параметр -x за которым следует список архивных файлов, разделенных пробелами, которые вы хотите исключить из извлечения:
unzip filename.zip -x file1-to-exclude file2-to-exclude
В следующем примере мы извлекаем все файлы и каталоги из ZIP-архива, кроме каталога .git :
Перезаписать существующие файлы
Допустим, вы уже разархивировали ZIP-файл и снова запускаете ту же команду:
По умолчанию unzip спросит вас, хотите ли вы перезаписать только текущий файл, перезаписать все файлы, пропустить извлечение текущего файла, пропустить извлечение всех файлов или переименовать текущий файл.
Archive: latest.zip replace wordpress/xmlrpc.php? [y]es, [n]o, [A]ll, [N]one, [r]ename:
Если вы хотите перезаписать существующие файлы без запроса, используйте параметр -o :
Используйте эту опцию с осторожностью. Если вы внесли какие-либо изменения в файлы, они будут потеряны.
Разархивируйте ZIP-файл без перезаписи существующих файлов
Допустим, вы уже разархивировали ZIP-файл и внесли изменения в некоторые файлы, но случайно удалили несколько файлов. Вы хотите сохранить изменения и восстановить удаленные файлы из ZIP-архива.
В этом случае используйте параметр -n который заставляет unzip чтобы пропустить извлечение уже существующего файла:
Разархивируйте несколько файлов ZIP
Вы можете использовать регулярные выражения для сопоставления нескольких архивов.
Например, если у вас есть несколько файлов ZIP в текущем рабочем каталоге, вы можете распаковать все файлы, используя только одну команду:
Обратите внимание на одинарные кавычки вокруг *.zip . Если вы забыли указать аргумент в кавычках, оболочка расширит подстановочный знак, и вы получите сообщение об ошибке.
Список содержимого Zip-файла
Чтобы просмотреть содержимое ZIP-файла, используйте параметр -l :
В приведенном ниже примере мы перечисляем все установочные файлы WordPress:
Результат будет выглядеть так:
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 .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.