Linux console unzip file

Содержание
  1. Примеры использования zip и unzip в linux
  2. Установка zip и unzip:
  3. Пример использования утилиты zip
  4. Как распаковать Zip-архив в Linux
  5. How to Unzip Files in Linux
  6. В этом руководстве мы объясним, как разархивировать файлы в системах Linux через командную строку с помощью unzip команды.
  7. Установка unzip
  8. Установить unzip на Ubuntu и Debian
  9. Установить unzip на CentOS и Fedora
  10. Как распаковать ZIP файл
  11. Подавить вывод unzip команды
  12. Распакуйте ZIP-файл в другой каталог
  13. Распакуйте ZIP-файл, защищенный паролем
  14. Исключить файлы при распаковке ZIP-файла
  15. Перезаписать существующие файлы
  16. Распакуйте ZIP-файл без перезаписи существующих файлов
  17. Распакуйте несколько ZIP-файлов
  18. Перечислите содержимое файла Zip
  19. Вывод
  20. How to Unzip a Zip File in Linux [Beginner’s Tutorial]
  21. Unzip file in Linux command line
  22. Unzip to directory
  23. See the content of zip file without unzipping it
  24. Unzip files in Linux using GUI
  25. Как создавать и распаковывать архивы zip в консоли Linux
  26. Формат сжатого архива ZIP
  27. zip, unzip и другие утилиты
  28. Как создать ZIP-файл с помощью команды zip
  29. Включение каталогов в ZIP-файлы
  30. Установка уровня сжатия
  31. Добавление паролей к ZIP-файлам
  32. Как распаковать ZIP-файл с помощью команды unzip
  33. Извлечение файлов в целевой каталог
  34. Извлечение защищенных паролем ZIP-файлов
  35. Исключение файлов
  36. Перезапись файлов
  37. Глядя внутрь ZIP-файла
  38. Добавить пароль с помощью команды zipcloak
  39. Просмотр сведений о файле с помощью команды zipdetails
  40. Поиск внутри файла с помощью команды zipgrep
  41. Просмотр информации с помощью команды zipinfo
  42. Разделить файл командой zipsplit

Примеры использования zip и unzip в linux

Сегодня я хотел сделать пост памятку по работе в Unix подобных системах с утилитами zip и unzip. Также рассмотреть несколько интересных команд, которые могут пригодиться для работы.

Установка zip и unzip:

В системе Debian/Ubuntu.

В системе Red Hat Linux/Fedora/CentOS.

Пример использования утилиты zip

Пример 1: Создания архива из указанных файлов и папок

Пример 2: Создания архива текущего каталога (архив создается без подкаталогов)

Пример 3: Создания архива включая все подкаталоги используем ключ -r

Создает архив без скрытых файлов/каталог это файлы/каталоги начинающиеся с .

Создает архив с скрытыми файлами и каталогами

Пример 4: Чтобы сжать быстро используйте -1, но для более лучшего сжатие используйте -9

Пример 5: Опция -x позволяет исключать файлы и каталоги из архива

Пример 6: Также опция -x позволяет исключать файлы и каталоги по шаблону

Таким способом я исключаю все каталоги заканчивающихся на ted и файлы расширения xml

Пример 7: Разбиваем архив на части с помощью опции -s

Также есть возможность указать опцию размера части архива в: k (KB), m (MB), g (GB), t (TB)

Пример 8: Задать пароль можно опцией -e или опцией -P .

Пример 9: Выбрать только указанные файлы/каталоги

Пример 10: Удаление файлов из созданного архива

Пример 11: Обновить содержимое созданного архива

Пример 11: Тихий режим (Полезно, например, в сценариях оболочки и фоновых задач)

Пример 12: Извлечь все содержимое архива

Пример 13: Извлечь все содержимое архива в указанную директорию

Пример 14: Показать содержимое архива

Пример 15: Извлечь конкретный файл из архива

Источник

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

How to Unzip Files in Linux

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

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

Установка unzip

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Беспроводная гарнитура для mac os

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

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

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

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

Источник

How to Unzip a Zip File in Linux [Beginner’s Tutorial]

Last updated October 9, 2019 By Abhishek Prakash 9 Comments

Brief: This quick tip shows you how to unzip a file in Ubuntu and other Linux distributions. Both terminal and GUI methods have been discussed.

Zip is one of the most common and most popular way to create compressed archive files. It is also one of the older archive file format that was created in 1989. Since it is widely used, you’ll regularly come across a zip file.

In an earlier tutorial, I showed how to zip a folder in Linux. In this quick tutorial for beginner’s, I’ll show you how to unzip files in Linux.

Prerequisite: Verify if you have unzip installed

In order to unzip a zip archive file, you must have the unzip package installed in your system. Most modern Linux distributions come with uzip support but there is no harm in verifying it to avoid bad surprises later.

In Ubuntu and Debian based distributions, you can use the command below to install unzip. If it’s already installed, you’ll be notified about it.

Once you have made sure that your system has unzip support, it’s time to unzip a zip file in Linux.

You can use both command line and GUI for this purpose and I’ll show you both methods.

Unzip file in Linux command line

Using unzip command in Linux is absolutely simple. In the directory, where you have the zip file, use this command:

You can also provide the path to the zip file instead of going to the directory. You’ll see extracted files in the output:

There is a slight problem with the above command. It will extract all the contents of the zip file in the current directory. That’s not a pretty thing to do because you’ll have a handful of files leaving the current directory unorganized.

Unzip to directory

A good practice is to unzip to directory in Linux command line. This way, all the extracted files are stored in the directory you specified. If the directory doesn’t exist, it will create one.

Now all the contents of the zipped_file.zip will be extracted to unzipped_directory.

Since we are discussing good practices, another tip you can use is to have a look at the content of the zip file without actually extracting it.

See the content of zip file without unzipping it

You can check the content of the zip file without even extracting it with the option -l.

Here’s a sample output:

There are many other usage of the unzip command in Linux but I guess now you have enough knowledge to unzip files in Linux.

Unzip files in Linux using GUI

You don’t always have to go to the terminal if you are using desktop Linux. Let’s see how to unzip in Ubuntu Linux graphically. I am using GNOME desktop here with Ubuntu 18.04 but the process is pretty much the same in other desktop Linux distributions.

Open the file manager and go to the folder where your zip file is stored. Right click the file and you’ll see the option “extract here”. Select this one.

Читайте также:  Как убрать моя семья windows

Unlike the unzip command, the extract here options create a folder of the same name as the zipped file and all the content of the zipped files are extracted to this newly created folder. I am glad that this is the default behavior instead of extracting everything in the current directory.

There is also the option of ‘extract to’ and with that you can specify the folder where you want to extract the files.

That’s it. Now you know how to unzip a file in Linux. Perhaps you might also be interested in learning about using 7zip in Linux.

If you have questions or suggestions, do let me know in the comment section.

Like what you read? Please share it with others.

Источник

Как создавать и распаковывать архивы zip в консоли Linux

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

Формат сжатого архива ZIP

Благодаря доминированию формата ZIP в области Windows, файлы ZIP, вероятно, являются наиболее распространенной формой сжатых архивов в мире.

Хотя файлы .tar.gz и tar.bz2 распространены в Linux, пользователи Windows, вероятно, отправят вам архив в формате ZIP. И, если вы хотите заархивировать некоторые файлы и отправить их пользователю Windows, формат ZIP будет самым простым и наиболее совместимым решением для всех.

zip, unzip и другие утилиты

Возможно, вы уже знаете, что Linux и Unix-подобные операционные системы, такие как macOS, имеют инструменты, позволяющие создавать ZIP-файлы и извлекать из них файлы, называемые zip и unzip . Но есть целый ряд связанных утилит, таких как zipcloak , zipdetails, zipsplit и zipinfo.

Мы проверили некоторые дистрибутивы Linux, чтобы увидеть, включают ли они эти утилиты в стандартную установку. Все утилиты присутствовали в Ubuntu 19.04, 18.10 и 18.04. Они также присутствовали в Манджаро 18.04. Fedora 29 включала zip и unzip , но ни одну из других утилит, и это также относится к CentOS.

Чтобы установить недостающие элементы в Fedora 29, используйте следующую команду:

Чтобы установить недостающие элементы в CentOS 7, используйте следующую команду:

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

Как создать ZIP-файл с помощью команды zip

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

Чтобы создать файл с именем source_code.zip содержащий все файлы исходного кода C и заголовочные файлы в текущем каталоге, вы должны использовать эту команду:

Каждый файл указан как добавленный. Отображается имя файла и степень сжатия, достигнутая в этом файле.

Если вы посмотрите на новый ZIP-архив, то увидите, что расширение «.zip» было автоматически добавлено zip.

Если вы не хотите видеть вывод из zip при создании ZIP-файла, используйте параметр -q (quiet).

Включение каталогов в ZIP-файлы

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

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

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

Установка уровня сжатия

Вы можете установить степень сжатия файлов при их добавлении в ZIP-архив. Диапазон составляет от 0 до 9, где 0 вообще не компрессирует. Чем выше степень сжатия, тем больше времени требуется для создания файла ZIP. Для ZIP-файлов небольшого размера разница во времени не является существенным штрафом. Но тогда, для ZIP-файлов небольшого размера, сжатие по умолчанию (уровень 6), вероятно, достаточно хорошо в любом случае.

Чтобы заставить zip использовать определенный уровень сжатия, передайте число в качестве параметра в командной строке с помощью «-», например:

Уровень сжатия по умолчанию равен 6. Нет необходимости -6 опцию -6 , но это не принесет вреда.

Максимальный уровень сжатия — уровень 9.

При выборе файлов и каталогов, которые здесь архивируются, разница между отсутствием сжатия (уровень 0) и сжатием по умолчанию (уровень 6) составляет 400 КБ. Разница между сжатием по умолчанию и самым высоким уровнем сжатия (уровень 9) составляет всего 4K.

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

Добавление паролей к ZIP-файлам

Добавить пароли к ZIP-файлам легко. Используйте параметр -e (зашифровать), и вам будет предложено ввести пароль и повторно ввести его для проверки.

Как распаковать ZIP-файл с помощью команды unzip

Чтобы извлечь файлы из ZIP-файла, используйте команду unzip и укажите имя ZIP-файла. Обратите внимание, что вам нужно предоставить расширение «.zip».

По мере извлечения файлов они отображаются в окне терминала.

Читайте также:  Windows theme files folder

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

Как и в zip , у unzip есть опция -q (quiet), поэтому вам не нужно видеть список файлов, когда файлы извлекаются.

Извлечение файлов в целевой каталог

Чтобы файлы были извлечены в определенном каталоге, используйте опцию -d (directory) и укажите путь к каталогу, в который вы хотите извлечь архив.

Извлечение защищенных паролем ZIP-файлов

Если ZIP-файл был создан с паролем, unzip попросит вас указать пароль. Если вы не введете правильный пароль, unzip файлы не удастся.

Если вас не волнует, что ваш пароль видят другие — и не хранится ли он в истории команд — вы можете указать пароль в командной строке с параметром -P (пароль). (Вы должны использовать заглавную «P.»)

Исключение файлов

Если вы не хотите извлекать определенный файл или группу файлов, используйте параметр -x (исключить). В этом примере мы хотим извлечь все файлы, кроме тех, которые заканчиваются расширением «.h».

Перезапись файлов

Предположим, вы распаковали архив, но по ошибке удалили несколько извлеченных файлов.

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

Помимо ответа r (переименование), эти ответы чувствительны к регистру.

  1. y: да, переписать этот файл
  2. n: нет, не перезаписывать этот файл
  3. A: Все, переписать все файлы
  4. N: Нет, перезаписать ни один из файлов
  5. r: переименовать, распаковать этот файл, но дать ему новое имя. Вам будет предложено ввести новое имя.

Чтобы заставить unzip перезаписывать любые существующие файлы, используйте опцию -o (перезапись).

Наиболее эффективный способ заменить отсутствующие файлы — unzip только те файлы в архиве, которые не находятся в целевом каталоге. Для этого используйте параметр -n (никогда не перезаписывать).

Глядя внутрь ZIP-файла

Часто полезно и поучительно видеть список файлов внутри ZIP-файла перед его извлечением. Вы можете сделать это с опцией -l (архив списка). Это запускает less чтобы сделать вывод управляемым.

Вывод показывает каталоги и файлы в ZIP-файле, их длину и время и дату, когда они были добавлены в архив. Нажмите «q», чтобы выйти из less.

Как мы увидим, есть другие способы заглянуть внутрь ZIP-файла, который предоставляет различные типы информации.

Добавить пароль с помощью команды zipcloak

Если вы создали ZIP-файл, но забыли добавить пароль, что вы можете сделать? Вы можете быстро добавить пароль в ZIP-файл с помощью команды zipcloak . Передайте имя файла ZIP в командной строке. Вам будет предложено ввести пароль. Вам необходимо подтвердить пароль, введя его во второй раз.

Просмотр сведений о файле с помощью команды zipdetails

Команда zipdetails покажет вам много информации о ZIP-файле. Единственный разумный способ обработать количество вывода, которое может дать эта команда, состоит в том, чтобы передать его через less.

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

Поиск внутри файла с помощью команды zipgrep

Команда zipgrep позволяет вам искать файлы в ZIP-файле. В следующем примере мы хотим знать, какие файлы в ZIP-файле содержат текст «keyval.h».

Мы видим, что файлы slang.c и getval.c содержат строку «keyval.h». Мы также видим, что в ZIP-файле есть две копии каждого из этих файлов в разных каталогах.

Просмотр информации с помощью команды zipinfo

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

Слева направо вывод показывает:

  • Файл разрешений
  • Версия инструмента, использованного для создания файла ZIP
  • Исходный размер файла
  • Файловый дескриптор (описан ниже)
  • Метод сжатия (в данном случае дефляция)
  • Данные и отметка времени
  • Название файла и любой каталог

Дескриптор файла состоит из двух символов. Первым символом будет «t» или «b» для обозначения текстового или двоичного файла. Если это заглавная буква, файл зашифрован. Второй символ может быть одним из четырех символов. Этот символ представляет тип метаданных, включаемых в этот файл: нет, расширенный локальный заголовок, «дополнительное поле» или оба.

  1. -: если ни один не существует, символ будет дефисом
  2. l: если есть расширенный локальный заголовок, но нет дополнительного поля
  3. x: если расширенного локального заголовка нет, но есть дополнительное поле
  4. X: если есть расширенный локальный заголовок и есть дополнительное поле

Разделить файл командой zipsplit

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

Опция -n (размер) позволяет вам установить максимальный размер для каждого из новых файлов ZIP. В этом примере мы source_code.zip файл source_code.zip . Мы не хотим, чтобы новые ZIP-файлы были больше 100 КБ (102400 байт).

Выбранный вами размер не может быть меньше размера любого из файлов в ZIP-файле.

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

Источник

Оцените статью