zip

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

Синтаксис:

zip [-cDdFfghiJjLlmNnqRrsTuvXx019] [-b путь] [-n суффиксы] [-t ммддгггг] [-tt ммддгггг] [zipfile [ file1 file2 ...]] [-xi список]

Опции:

-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.

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

-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.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, mips, ppc, x86

Описание:

Утилита 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 .* *


Note: Эта команда не добавляет подкаталоги текущего каталога.

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

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино»

Тематические ссылки:

gzip, tar, unzip




Предыдущий раздел: Утилиты