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 не удалось открыть указанный файл для
чтения.