zip

Архивация и упаковка файлов в формат gzip или pkzip

Примечание. Утилита zip сжимает несколько файлов в один архивный файл.

Синтаксис:

zip [-cDdFfghiJjLlmNnqRrsTuvXx019]

[-b путь] [-n суффиксы]

[-t ммддгггг] [-tt ммддгггг]

[zipfile [ file1 file2 ...]] [-xi список]

Поддерживаемые платформы:

QNX Neutrino, Microsoft Windows

Опции:

-b путь

Использовать указанный путь к временному архиву zip.

-c

Добавить однострочные комментарии к каждому файлу. Сначала выполняются операции с файлами (добавление, обновление и т.д.), после чего утилита запрашивает однострочные комментарии к каждому файлу.

-D

Не создавать в zip-файле записи для каталогов. Записи каталогов по умолчанию создаются для сохранения атрибутов в архиве zip.

-d

Удалить записи из zip-файла.

-F

Исправить файл zip. Эта опция используется в случае отсутствия некоторых частей файла.

-f

Обновить (заменить) только измененные файлы.

-g

Вместо создания нового файла увеличить (дополнить) указанный файл zip.

-h

Вывести справку.

-i

Включить только указанные файлы. Пример.

zip -r foo . -i \*.c

Эта команда включает в текущий каталог и его подкаталоги только файлы, заканчивающиеся на .c.

-J

Удалить из файла все добавленные данные (т.е. заглушку SFX).

-j

Удалить путь к файлу; сохранить только имя сохраненного файла.

-L

Отобразить информацию о лицензии zip.

-l

Преобразовать символ конца строки UNIX LF (linefeed) в CR LF (carriage return и linefeed), соответствующие правилам MS-DOS. Для преобразования CR LF обратно в символ конца строки LF используется -ll.

Примечание
. Эти опции не следует использовать в двоичных файлах.

-m

Переместить указанные файлы в файл zip и удалить целевые каталоги/файлы.

-N

Сохранять заметки к файлам в виде комментариев к архивам.

-n суффиксы

Запретить сжатие файлов с указанными суффиксами. Для разделения суффиксов используются двоеточия или точки с запятой.

-o

Установить для времени последнего изменения файла zip значение времени последнего изменения в записях архива zip.

-q

Перейти в режим вывода краткой информации без информационных сообщений и приглашений командной строки.

-R

Рекурсивно перейти в каталоги, начиная с текущего.

-r

Рекурсивно перейти в каталоги.

-T

Проверить целостность нового файла zip.

-t ммддгггг

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

-tt ммддгггг

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

-u

Обновить только измененные или новые файлы.

-v

Режим вывода расширенной информации.

-X

Не сохранять дополнительные атрибуты файла.

-x файлы

Явно исключить указанные файлы. Пример.

zip -r foo foo -x \*.o

В результате в foo.zip включено содержимое foo, но исключены все файлы, заканчивающиеся на .o.

-z

Добавить комментарий в zip-файл.

от -0 до -9

Регулировать скорость сжатия, где -0 – отсутствие сжатия, -1 (один) – метод наиболее быстрого сжатия (наименьшая степень сжатия), а -9 – метод наиболее медленного сжатия (оптимальное сжатие). Уровень сжатия по умолчанию – -6.

Описание:

Утилита zip предназначена для сжатия и упаковки файлов. Для распаковки архивов zip используется сопутствующая программа (unzip). Программы zip и unzip могут работать с архивами, формируемыми PKZIP; PKZIP и PKUNZIP могут работать с архивами, формируемыми утилитой zip.

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

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

С помощью одной команды в архив zip можно поместить целый каталог. Стандартная степень сжатия для текстовых файлов – от 2:1 до 3:1. Утилита zip использует один метод сжатия ("дефляцию") и также может сохранять файлы без сжатия; zip автоматически выбирает оптимальный способ сжатия для каждого файла.

Когда zip получает имя существующего архива zip, она заменяет в архиве записи с одинаковыми именами или добавляет записи с новыми именами.

Например, если существует архив foo.zip, содержащий файлы foo/file1 и foo/file2, и каталог foo, также содержащий foo/file1 и foo/file3, то:

zip -r foo foo


заменяет foo/file1 в архиве foo.zip и добавляет foo/file3 в foo.zip. Теперь foo.zip содержит foo/file1, foo/file2 и foo/file3; foo/file2 остается без изменений.

Примеры:

Создание архива stuff.zip и добавление в него всех файлов текущего каталога в сжатой форме:

zip stuff *

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

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

zip stuff .* *


Примечание. Эта команда не добавляет подкаталоги текущего каталога.

Добавление в архив zip всего каталога:

zip -r foo foo


Эта команда создает архив foo.zip, содержащий все файлы и каталоги из каталога foo, содержащиеся в текущем каталоге.

Возможно создание архива zip, содержащего файлы в каталоге foo, без записи имени каталога foo. Для сброса путей используется опция -j:

zip -j foo foo/*


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

Например, если foo содержит подкаталоги tom, dick и harry, можно выполнить следующие команды:

zip -rm foo foo/tom

zip -rm foo foo/dick

zip -rm foo foo/harry


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

Переменные среды:

ZIPOPT


Набор опций по умолчанию для
zip. Пример.

export ZIPOPT="-D"

Статус завершения:

0

Операция выполнена успешно.

2

Возникла ошибка; операция завершена неуспешно.

3

Обнаружена общая ошибка в формате архивного файла zip, однако обработка, возможно, все же была выполнена успешно; в процессе создано предупреждение.

4

Утилите zip не удалось выделить достаточное количество памяти для одного или нескольких буферов во время инициализации программы.

5

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

6

Слишком большая запись для разделения с помощью zipsplit.

7

Недопустимый формат комментария.

8

zip -T завершена неуспешно, или не достаточно памяти.

9

Работа утилиты zip преждевременно прервана пользователем с помощью Ctrl-C или аналогичной команды.

10

Во время использования утилитой zip временного файла возникла ошибка.

11

Ошибка чтения или поиска.

12

Необходимость в использовании zip отсутствует.

13

Файл zip отсутствует или является пустым.

14

Ошибка записи в файл.

15

Утилите zip не удалось создать файл для записи.

16

Недействительные параметры командной строки.

18

Утилите zip не удалось открыть указанный файл для чтения.