Утилита zip#

zip – это утилита сжатия и упаковки файлов. Аналогична последовательному использованию tar и compress . Утилита unzip, сопутствующая утилите zip, служит для распаковки zip-архивов. Обе утилиты могут работать с архивами PKZIP (ZIP для систем MSDOS). zip поддерживает сжатие bzip2. Когда в архив добавляются файлы размером более 4 ГБ, архив автоматически использует расширение Zip64. Расширение Zip64 также используется для архивов, передаваемых из стандартного ввода, поскольку размер таких архивов заранее неизвестен.

Утилита zip помещает один или несколько сжатых файлов в один zip-архив вместе с информацией о файлах (имя, путь, дата, время последнего изменения, защита и контрольная информация для проверки целостности файла). Целая структура каталогов может быть упакована в zip-архив с помощью одной команды. Также при сжатии файлов можно задавать уровень сжатия от -0 до -9, где (-0 – отсутствие сжатия, а -9 - самый высокий уровень сжатия). Для некоторых файлов уровень сжатия используется по умолчанию, например, для текстовых файлов характерны уровни сжатия от -2 до -3. По умолчанию используется уровень сжатия -6. Метод сжатия, который использует zip, – дефляция.

Синтаксис zip:

zip <options> <archive-name-or-path-to-archive> <path-to-file-or-directory>

Часто используемые опции утилиты представлены в таблице ниже:

Опция

Описание

-<compression-ratio>

Указать уровень сжатия, где вместо параметра <compression-ratio> требуется указать число от 0 до 9

-d, --delete

Удалить запись из файла zip-архива. При указании записей (имен файлов или директорий) можно использовать регулярные выражения. Например, можно удалить один файл - <path-to-file>, все файлы, начинающиеся на указанное сочетание символов – <filename>\*, или все файлы с определенным расширением – *.<extension>

-e, --encrypt

Зашифровать содержимое zip-архива, используя пароль, который потребуется ввести в ответ на запрос при архивировании

-q, --quiet

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

-r

Включить рекурсивное перемещение по каталогам при архивировании. При применении опции все файлы и каталоги в указанном каталоге будут сохранены в zip-архиве

-sf, --show-files

Вывести список файлов, с которыми будут выполнены операции. Например, при создании нового архива в терминал выведется список файлов, которые будут добавлены при архивировании. Если опция отключена, то вывод будет фиксироваться в /var/log. При архивировании большого количества файлов применение опции не рекомендуется

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

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

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

    zip -r <archive-name-or-path-to-archive>.zip <path-to-file-or-directory1> <path-to-file-or-directory2> ...
    

    Где <archive-name-or-path-to-archive> – имя или путь к zip-архиву, а <path-to-file-or-directory> – путь к файлу или каталогу, который нужно упаковать в указанный архив.

  • Для удаления файлов или каталогов из определенного архива воспользуйтесь командой:

    zip -d <archive-name-or-path-to-archive>.zip <path-to-file-or-directory1> <path-to-file-or-directory2> ...
    
  • Для архивирования файлов или каталогов с определенным уровнем сжатия используйте команду:

    zip -r -<compression-ratio> <archive-name-or-path-to-archive>.zip <path-to-file-or-directory1> <path-to-file-or-directory2> ...
    
  • Для создания зашифрованного архива с определенным паролем воспользуйтесь командой:

    zip -r -e <archive-name-or-path-to-archive>.zip <path-to-file-or-directory1> <path-to-file-or-directory2> ...