Как заархивировать (zip) файлы и каталоги в Linux

Linux Logo Applications

Zip - наиболее распространенный формат архивных файлов, поддерживающий сжатие данных без потерь.

Zip-файл - это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (zip) файлы занимают меньше места на диске и могут быть переданы с одной машины на другую быстрее, чем несжатые. Zip-файлы можно легко распаковать в Windows, macOS и Linux с помощью утилит, доступных для всех операционных систем.

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

Команда zip

zip - это утилита командной строки, позволяющая создавать Zip-архивы.

Команда zip имеет следующий синтаксис:

Чтобы создать Zip-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог.

Zip-файлы не поддерживают информацию о правах собственности в стиле Linux. Распакованные файлы принадлежат пользователю, выполняющему команду. Для сохранения информации о правах собственности и разрешениях на файлы используйте команду tar.

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

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

Установка zip в  CentOS и Fedora

Как заархивировать файлы и каталоги

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

По умолчанию команда zip выводит имена файлов, добавленных в архив, и метод сжатия. О методах и уровнях сжатия мы расскажем далее в этом руководстве.

Если имя архива не заканчивается на .zip, расширение добавляется автоматически, если только имя архива не содержит точку. zip archivename.zip filename создаст архив с тем же именем, что и zip archivename filename.

Чтобы подавить вывод команды zip, используйте опцию -q:

Часто приходится создавать zip-архив каталога, включающий содержимое подкаталогов. Опция -r позволяет рекурсивно обойти всю структуру каталога:

Также можно добавлять несколько файлов и каталогов в один архив:

Методы и уровни сжатия

По умолчанию в Zip используется метод сжатия deflate. Если утилита zip определяет, что файл не может быть сжат, она просто сохраняет файл в архиве, не сжимая его методом store. В большинстве дистрибутивов Linux утилита zip также поддерживает метод сжатия bzip2.

Чтобы указать метод сжатия, используйте опцию -Z.

Команда zip позволяет задать уровень сжатия с помощью числа, снабженного тире, от 0 до 9. По умолчанию используется степень сжатия -6. При использовании -0 все файлы будут храниться без сжатия. Значение -9 заставит команду zip использовать оптимальное сжатие для всех файлов.

Например, чтобы использовать уровень сжатия -9, нужно набрать примерно следующее:

Чем выше уровень сжатия, тем более требователен к процессору процесс zip, и на его завершение потребуется больше времени.

Создание ZIP-файла, защищенного паролем

Если в архиве должна храниться конфиденциальная информация, ее можно зашифровать с помощью опции -e:

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

Создание разделенного Zip-файла

Представьте, что вы хотите хранить Zip-архив на файловом хостинге, который имеет ограничение на размер загружаемого файла в 1 ГБ, а ваш Zip-архив имеет размер 5 ГБ.

Вы можете создать новый разделенный Zip-файл с помощью опции -s, за которой следует указанный размер. Множитель может быть k (килобайт), m (мегабайт), g (гигабайт) или t (терабайт).

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

Команда zip Примеры

Создать Zip-архив с именем archivename.zip, содержащий все файлы в текущем каталоге.

То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):

Создать Zip-архив с именем archivename.zip, содержащий все MP3-файлы в текущем каталоге без сжатия файлов.

Заключение

В Linux можно создавать Zip-архивы с помощью команды zip. Для извлечения ZIP-архива в системе Linux можно использовать команду unzip .

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