Архивирование файлов и каталогов с помощью Zip

архивирование

В этой статье, вы узнаете, как архивировать файлы и папки с помощью архиватора zip.

В предыдущей статье вы уже узнали, как архивировать файлы и каталоги с помощью tar в Linux. Сегодня мы будем делать то же самое, но с использованием Zip.

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

Архивация файлов и каталогов в Linux с помощью Zip

Zip поставляется по-умолчанию почти во всех дистрибутивах Linux. На всякий случай, если у вас его нет, вы можете установить zip с помощью диспетчера пакетов.

В Arch Linux и производных:

sudo pacman -S zip unzip

RHEL, CentOS, Fedora:

sudo yum install zip unzip

Debian, Ubuntu, Linux Mint:

sudo apt-get install zip unzip

SUSE/openSUSE:

sudo zypper install zip unzip

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

Как создать архив с помощью zip

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

zip test.zip test1.txt test2.txt test3.txt


Здесь мы создаем архив с именем test.zip из test1.txt, test2.txt и test3.txt. Вам не обязательно использовать расширение .zip в конце имени файла. Я добавил его для ясности.

Аналогично, чтобы создать архив каталога, вам нужно ввести команду:

zip catalog.zip linuxthebest/

Здесь я создал архив с именем catalog.zip из linuxthebest каталога. Обратите внимание, что так, вы только добавите родительский каталог в архив. Чтобы рекурсивно архивировать все подкаталоги, используйте флаг -r, как показано ниже.

zip -r catalog.zip linuxthebest/

В отличие от утилиты tar, zip создает архив и сжимает его, когда это возможно. Но tar — это архиватор, а не инструмент сжатия.

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

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

zip -r catalog.zip linuxthebest/ test1.txt test2.txt test3.txt


Вышеупомянутая команда создает архив с именем catalog.zip из каталога linuxthebest и группы файлов, а именно test1.txt, test2.txt, test3.txt.

Теперь позвольте мне показать вам еще один пример.

zip catalog.zip test4.txt

Вы заметили? Я указал существующий архив, но программа zip обновила содержимое существующего архивного файла без его замены. То есть, если вы указали существующий архив, то он обновляется, а не заменяется. Чтобы сказать проще, существующий архив сохраняется, а в него добавляется новый файл test4.txt. И это заметное преимущество программы zip перед утилитой tar.

Как извлечь архив zip

Извлечение архивов так же просто, как создание архивов. Чтобы извлечь архив, просто выполните:

unzip catalog.zip

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

unzip catalog.zip test4.txt

Как посмотреть список содержимого архива без его извлечения

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

unzip -l catalog.zip

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

Как создать зашифрованный архив

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

Чтобы создать зашифрованный архив, используйте флаг -e.

zip -e -r catalog.zip linuxthebest/ test1.txt test2.txt test3.txt test4.txt

При извлечении или просмотре содержимого архива вам необходимо будет ввести правильный пароль.

unzip catalog.zip

Сжатие архивов со степенью сжатия

Чтобы архивировать каталог и его содержимое с наивысшим уровнем сжатия [9], введите следующую команду:

zip -r -9 archive.zip linuxthebest/

Zip поддерживает три уровня сжатия, как указано ниже.

1 — Самый быстрый (но худший)
9 — Самый медленный (но самый лучший)
6 — Уровень по умолчанию

Исключение файлов или папок при создании архивов

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

zip -r catalog.zip linuxthebest/ -x linuxthebest/image.jpg

Вышеупомянутая команда создаст архив каталога linuxthebest, но исключит файл image.jpg из архива.

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

unzip -l catalog.zip

Удаление файлов из существующего архива

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

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

zip -d catalog.zip "linuxthebest/audio.mp3"

Аналогично, для удаления группы файлов одно типа, например .txt используйте команду:

zip -d catalog.zip "*.txt"

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

Всем удачного дня.

Поделитесь с друзьями

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

4 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
M15

Спасибо. Отличная статья! Надеюсь будет продолжение темы… Но буду рад и любой другой статье. 🙂

Спойлер
(не по теме: а на форум с этой учеткой можно? Или надо регистрироваться отдельно?)

UALinux

Спасибо.
Нужно регистрироваться отдельно.

Виктор

С удовольствием наблюдаю за твоей деятельностью, дружище; занимался подобным (был свой сайт), но не вытянул — сдался; надеюсь, ты, что-то с этого имеешь и это не зря; удачи, всегда тебя поддержу (прочтенное сжечь)

UALinux

Спасибо за поддержку.
С сайта почти ничего не имею кроме идеи

4
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x