Как распаковать zip в linux
Перейти к содержимому

Как распаковать zip в linux

  • автор:

zip and unzip in Linux

There are many utilities that can be used to archive/extract, compress/decompress files in Linux, mainly are: tar , gzip , bzip2 , zip , etc.
Before we use these utilities, it’s better to be clear about the differences between the meaning of archiving and compressing.

Archiving simply package several files together into a single file, there is no compress procedure involved implicitly, on the other side,
Compressing will package files together and apply some compressing algorithm to shrink the size of the resulting file.

A list of common archived files in Linux

  • .tar
  • .tar.gz
  • .tar.bz2
  • .tar.xz
  • .tar.Z
  • .tgz
  • .zip

Note:
.tar.gz and tar.bz2 are the two most common zipped file format in Linux, .gz implies gzip compressed file, while .bz2 implies bzip compressed (LZ77 algorith is applied) file.

The tar utility is used to create a single archive from several files and extract the files from an archinve.
The gzip , bzip2 or zip utility is used to compress a single file to smaller size.

tar, gzip, bzip2 are provided by default in most Linux/Unix distributions, zip utility may need a manual installation.

Compress Decompress List
gzip filename gzip -d *.gz, gunzip *.gz gzip -l *.gz
bzip2 filename bzip2 -d *.bz2, gunzip data.doc.bz2`
zip data.zip *.doc
zip -r data.zip data/
unzip *.zip unzip -l *.zip
tar -zcvf data.tgz *.doc
tar -zcvf data.tar.gz *.doc
tar -jcvf data.tbz2 *.doc
tar -zxvf data.tgz
tar -zxvf pics.tar.gz *.jpg
tar -jxvf data.bz2
tar -ztf *.tgz
tar -ztf *.bz2
tar -jtf *.bz2

Common options of tar

  • -c: create a new archive
  • -x: extract files from an archive
  • -t: list the contents of an archive
  • -r: append files to the end of an archive
  • -u: update

Note that the above five options are independent and therefore any two of them can not be used together (they can be used combined with other options but not each other).

-c or -x will be used when packaging or extracting.

  • -z, –gzip use gzip compress
  • -j, –bzip2 use bzip2 compress
  • -Z, –compress use for *.tar.Z
  • -v verbose
  • -O, –to-stdout extract files to standard output
  • -C, –directory Output directory

-f option is used to specify the archive name, this is a mandatory option for tar .

Как распаковать ZIP в Linux

В операционной системе Windows формат архивов ZIP считается чуть ли не стандартным, он даже поддерживается в этой операционной системе, что называется «из коробки». Если вы только перешли с Windows, то у вас, наверное, есть много таких архивов с различными файлами, также ZIP-архивы могут часто попадаться на просторах интернета. Поэтому работать с такими файлами в Linux вам однозначно придётся.

В этой небольшой статье мы рассмотрим, как распаковать ZIP Linux. Разберём несколько способов и воспользуемся несколькими утилитами, которые справятся с этой задачей.

Распаковка ZIP Linux

Формат ZIP был создан в 1989 году на замену очень медленному формату ARC. Здесь используется сжатие deflate, и на то время оно работало намного быстрее чем ARC. Исторически сложилось так, что стандартным форматом для Linux стали TAR и GZ — это усовершенствованные алгоритмы сжатия и архивации. Многие графические распаковки воспринимают и ZIP-файлы. Но они обрабатывают архивы не сами, а дают команду предназначенным для этого формата утилитам.

Утилита для распаковки ZIP называется unzip, она не всегда установлена по умолчанию. Но вы можете очень просто добавить её в свою систему из официальных репозиториев. Для этого в Ubuntu выполните:

sudo apt install unzip

А в системах, использующих формат пакетов Red Hat, команда будет выглядеть немного по-другому:

sudo yum install unzip zip

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

Но этой утилите не нужны дополнительные оболочки для распаковки архива. Вы можете сделать всё прямо из консоли. Давайте рассмотрим синтаксис утилиты:

$ unzip опции файл_архива.zip файлы -x исключить -d папка

  • файл архива — это тот файл, с которым нам предстоит работать;
  • файлы — здесь вы можете указать файлы, которые нужно извлечь, разделять имена файлов пробелом;
  • исключить — файлы, которые извлекать не нужно;
  • папка — папка, в которую будет распакован архив.

Теперь рассмотрим опции утилиты, поскольку она позволяет не только распаковывать архивы, но и выполнять с ними определённые действия:

  • -l — вывести список файлов в архиве;
  • -t — протестировать файл архива на ошибки;
  • -u — обновить существующие файлы на диске;
  • -z — вывести комментарий к архиву;
  • -c — извлекать файлы на стандартный вывод, перед каждым файлом будет выводиться его имя;
  • -p — то же самое, только имя выводится не будет;
  • -f — извлечь только те файлы, которые уже существуют на диске, и файлы в архиве более новые;
  • -v — вывести всю доступную информацию;
  • -P — указать пароль для расшифровки архива;
  • -n — не перезаписывать существующие файлы;
  • -j — игнорировать структуру архива и распаковать всё в текущую папку;
  • -q — выводить минимум информации.

Все самые основные опции рассмотрели, теперь давайте рассмотрим несколько примеров работы с программой в терминале. Чтобы распаковать ZIP Linux в текущую папку, достаточно набрать:

zip3

Причём расширение указывать не обязательно. Протестировать архив можно с помощью опции -t:

unzip -tq имя_файла.zip

zip1

Вы можете протестировать все архивы в текущей папке, выполнив:

Если нужно распаковывать архив не в текущую папку, можно очень просто указать нужную:

unzip имя_файла.zip -d /tmp

zip4

Также можно распаковывать не весь архив, а только нужные файлы или файлы нужного формата:

unzip имя_файла.zip \*.txt -d /tmp

С помощью опции -l вы можете посмотреть список файлов в архиве:

unzip -l file.zip

zip

Утилиту unzip разобрали и теперь вы с ней точно справитесь. Но я говорил, что мы рассмотрим несколько способов, как выполняется распаковка ZIP Linux. Поэтому дальше мы поговорим об утилите 7z.

Демонстрация работы утилит zip и unzip в терминале:

Как распаковать ZIP Linux с помощью 7z

7z — это кроссплатформенный набор утилит для работы с архивами. Кроме собственного формата, здесь поддерживается большое количество других, в том числе tar и zip. Плюс этой утилиты — в контекстное меню файлового менеджера будет добавлен пункт, с помощью которого вы сможете распаковывать или создавать архивы.

Для установки утилиты в Ubuntu или Debian выполните:

sudo apt install p7zip-full

А в Red Hat и CentOS:

sudo yum install p7zip

Теперь вы можете использовать контекстное меню вашего файлового менеджера, чтобы распаковать архив ZIP Linux. Также можно использовать программу в консоли. Синтаксис очень похож на unzip:

$ 7z команда опции имя_архива

Команда задаёт нужное действие. Нас будут интересовать только четыре команды:

  • e (Extract) — извлечь файлы из архива;
  • x eXtract — извлечь файлы из архива, сохраняя полный путь;
  • l (List) — список файлов архива;
  • t (Test) — проверить архив.

Теперь рассмотрим самые полезные опции:

  • -o — указать папку для распаковки;
  • -p — указать пароль;
  • -x — не извлекать эти файлы;
  • -w — указать рабочую директорию;
  • -y — отвечать положительно на все вопросы;

Ну и рассмотрим примеры работы с утилитой. Сначала проверим содержимое архива:

zip5

Распаковываем архив, сохраняя структуру подкаталогов:

zip6

Или распаковываем все файлы в одну папку, игнорируя подкаталоги:

Или вы можете указать папку, в которую нужно распаковать файлы с помощью опции -o:

7z x файл.zip -o /tmp/

Выводы

В этой статье была рассмотрена распаковка ZIP Linux, как видите, это ненамного сложнее, чем распаковка стандартных архивов TAR. Мы рассмотрели два способа ,и теперь вы точно будете знать, что делать, когда столкнетесь с такой ситуацией. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

How to Unzip a Zip File in Linux Command Line

Zip is a popular command-line tool to compress files. It allows us to create Zip archives. By default, it uses a lossless data compression technique.

Once the compressed zip file is placed in the target directory, it needs to be extracted. In this tutorial, we learn how to unzip a zip file in Linux command line using unzip command.

Prerequisites

  • Unzip package installed
  • If the package is not installed required a user account with sudo access

Install unzip Package in Linux

The new versions of Linux Distributions are already installed with unzip package. If not installed you may see «sudo: unzip: command not found» error when you try unzip command. You can easily install unzip package using the package manager.

Ubuntu / Debian

To install unzip on Ubuntu and Debian use the apt command:

Fedora / Redhat / AlmaLinux / Rocky Linux

On RPM-based Linux Distributions such as Fedora, Redhat, AlmaLinux, and Rocky Linux you can use the DNF package manager.

To install the unzip package using DNF, type:

You may also use yum to install unzip command:

unzip Command in Linux

The unzip command is mainly used for unzipping — extracting files from a specified zip archive file. The archive file will have a .zip file extension. You may also use unzip command to list and test the zip files. By default unzip command extracts into the current directory.

The basic syntax for unzip command:

Unzip a ZIP File with the unzip

Unzipping your compressed zipped file is simple and straightforward.

For example to unzip a zip file named archived_file.zip, type:

When unzip is used without any options, it extracts to the current directory. You can use ls command to verify it.

unzip a file named archived_file.zip

Make sure you have write permissions on the current folder where you will extract zip files to.

By default, unzip linux will print the names and summary of the files it has extracted. Using the -q option will unzip all the files in a quiet mode:

unzip without output using -q option

Extracting Files to a another directory

To unzip a ZIP file to a different directory, we use the -d option followed by the absolute path:

unzip extract to a directory

Exclude Files

When unzipping you can exclude specific files and subdirectories. That means those files or directories will be kept as it is in the archive file, and won’t be extracted.

Use -x option to exclude files or directories while extracting.

For example to exclude files named filename1 and dual from being extracted, type:

unzip exclude files

Overwrite Existing Files

Unzipping twice will prompt for overwriting existing files. This scenario happens in cases where you have deleted some extracted files and to fix that you have to extract files again.

When run unzip again, it will prompt to replace:

unzip overwrite

  • [y]es: overwrite current file
  • [n]o: don’t overwrite current file
  • [A]ll: overwrite all of the files
  • [N]one: overwrite none of the files
  • [r]ename: Extract current file but give it a new name and prompt for a new name.

For unzip to overwrite the files without raising any prompt, use the -o option. This perform force unzip overwriting any existing files.

unzip overwrite files without prompting

Without Overwriting Existing Files

For unzip to extract only files that are not present in the target directory use -n option.

Never overwrite a scenario that could happen when you have to keep all the extracted files with changes and restore the deleted files.

unzip without overwrite in linux

List Contents of ZIP Archive

Use -l option to list the contents of the ZIP archive file. This option helps to see what’s inside the zip file before extracting it.

For example to list the contents of the zipped archived file named archived_file.zip, type:

unzip list files

You can use unzip pipe through less to get the big list of files at a time.

Unzip multiple ZIP files

To perform unzip multiple files which are in .zip extension, you may need to use regular expression.

The following command unzip all .zip files in the current directory:

Password protected zip file

Use -p option to unzip a password protected zip file. The -p option should be followed by the password which was used to zip the file.

unzip password protected zip file

A rather more secure option would be to extract the file without providing the password. This way command will prompt for the password.

Verify ZIP Archive Integrity

Using unzip command you can test the archive files using the -t option. This helps to find any corrupt files inside the archive.

Remeber this process may take a longer time to complete as it performs cyclic redundancy checks.

unzip test integrity

Conclusion

In this tutorial, we learned how to unzip files from Linux command line. Commonly unzip command is used to extract compressed ZIP archives and list zip file contents.

For more information browse to the man unzip page. Thanks for reading, please provide your feedback and suggestions in the below comment section.

If this resource helped you, let us know your care by a Thanks Tweet. Tweet a thanks

Команда Unzip в Linux, или Как Распаковать Архив

Архивирование и распаковка файлов упрощает множество задач, но главная из них — передача файлов! В этом руководстве вы узнаете, как использовать команду unzip в Linux для оптимизации процесса работы с вашим VPS!

Zip — это часто используемая функция сжатия. Она портативна и проста в использовании. Вы даже можете распаковать в Windows файлы, созданные в Linux!

Утилита Unzip по умолчанию недоступна в большинстве дистрибутивов Linux, но её легко установить. С .zip можно добиться уровня сжатия, аналогичного .tar.gz.

Ниже приведены несколько сценариев, в которых вы можете использовать zip-файлы:

Когда вы работаете с системами на базе Windows и Unix и часто переключаетесь между ними. Архиватор не только сжимает файлы, но также является служебной программой для создания пакетов файлов. Работает на нескольких операционных системах;

Чтобы сэкономить трафик. Если у вас ограниченная пропускная способность, zip может использоваться для передачи файлов между двумя серверами;

Более быстрая загрузка и скачивание директорий;

Экономия места на диске;

Распаковка защищённых паролем архивов .zip

Когда нужна хорошая степень сжатия

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

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

Установить unzip очень просто! В Ubuntu и Debian используйте команду:

Затем устройтесь поудобнее и немного подождите, пока установка не будет завершена.

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

Установите Unzip в Linux — CentOS и Fedora

Здесь всё тоже очень просто, используйте следующую команду:

По завершению установки можете проверить путь с помощью следующей команды:

Выполнив указание в командной строке, вы должны получить следующий результат:

Вы также можете убедиться, что всё установлено правильно, используя команду ниже. Она выведет подробный отчёт об утилите unzip.

Как использовать Zip и Unzip в Linux

Теперь, когда мы знаем, как установить утилиту, можем приступить к её основных способам использования:

Создание zip-файлов в Linux

Базовый синтаксис для создания файла .zip:

В качестве примера мы заархивируем два файла — ExampleFile.txt и ExampleFile1.txt. Упакуем мы их в архив sampleZipFile.zip с помощью следующей команды:

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

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

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

Удаление файла из архива .zip

Вы можете удалять файлы в созданном вами архиве .zip. Например, если вы хотите удалить ExampleFile.txt из существующего sampleZipFile.zip, вы можете использовать следующую команду:

После выполнения этой команды вы можете распаковать файл .zip, используя:

При этом вы обнаружите, что файл ExampleFile.txt был удалён и больше не отображается при извлечении.

Как добавить файлы в существующий Zip-архив

Вы можете добавить новый файл к уже существующему архиву .zip. Допустим вам необходимо добавить новый файл ExampleFile2.txt в уже существующий файл sampleZipFile.zip. Вы можете сделать это с помощью команды:

Теперь, если вы распакуете архив sampleZipFile.zip, то обнаружите среди файлов новый ExampleFile2.txt.

Перемещаем файл в ZIP-архив

Вы можете легко переместить выбранные файлы в zip-архив. Это означает, что после добавления файлов в архив они будут удалены из исходных каталогов. Эта опция используется в основном в тех случаях, когда у вас большой файл или каталог, но вам нужно сохранить дисковое пространство. Чтобы реализовать команду, добавим к ней параметр -m. Вот пример:

Рекурсивное использование Zip в Linux

Параметр -r используется для рекурсивного архивирования файлов. Эта опция сжимает все файлы, находящиеся в папке. Пример такой команды показан ниже:

В этом примере MyDirectory — это каталог, содержащий несколько файлов и подкаталогов для архивирования.

Исключить файлы из ZIP-архива

При создании архива .zip вы можете исключить ненужные файлы. Это делается с помощью опции -x. Ниже приведён пример:

В этом примере ExampleFile.txt не будет добавлен в архив sampleZipFile.zip вместе с остальными.

Распаковать в другой каталог

Если вы не хотите распаковывать файлы в текущий каталог, а указать определённое местоположение, используйте параметр -d. Это позволит вам указать путь к каталогу, куда вы хотите распаковать архив. Пример такой команды показан ниже:

Распаковка нескольких ZIP-архивов

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

Эта команда распакует все отдельные zip-файлы.

Свернуть вывод при распаковке архива в Linux

По умолчанию, когда мы используем команду unzip, она выводит список всех извлекаемых файлов — распечатывает краткое описание процесса экстракции. Если вы не хотите видеть эти сообщения, можете использовать опцию -q. Вот пример команды:

Исключение файлов с помощью Unzip в Linux

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

В этом примере команда распакует все файлы, кроме excludedFile.txt.

Также вы можете запретить извлечение определённых типов файлов. Один из таких примеров показан ниже:

Вышеупомянутая команда исключит из извлечения все файлы .png.

Использование Unzip в Linux с архивами, защищёнными паролем

Защищённый паролем архив .zip можно распаковать с помощью параметра -P. Пример такой команды показан ниже:

В приведённой выше команде слово «Пароль» нужно заменить паролем от файла .zip.

Замена Zip-файлов

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

Варианты будут выглядеть следующим образом:

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

Но будьте осторожны, выполнении этой команды полностью перезапишет существующие копии. Любые изменения, внесённые в предыдущую копию, будут перезаписаны.

Использование Linux Unzip без перезаписи файлов

Если вы распаковали архив и внесли некоторые изменения, но случайно удалили несколько файлов, вы можете использовать эту опцию для их восстановления! Используйте параметр -n, чтобы пропустить извлечение, если файл уже существует. Таким образом, будут распакованы только удалённые ранее файлы. Пример такой команды:

Как вывести список содержимого ZIP-архива в Linux

Опция -l перечислит все файлы в .zip вместе с временем и другой важной информацией о файлах. Пример такой команды:

Итоги

Вот и всё, вы познакомились со всеми основными функциями утилит для архивирования zip и unzip в Linux. Начните организовывать свои файлы прямо сейчас!

Ольга вже близько восьми років працює менеджером у сфері IT, три з яких вона займається SEO. Написання технічних завдань та інструкцій — один з її основних обов’язків. Її хобі — дізнаватися щось нове і створювати цікаві та корисні статті про сучасні технології, веброзробку, мови програмування, пошукову оптимізацію сайтів та багато іншого.

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

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