zip

zip создаёт и распаковывает ZIP, сжимает и раскрывает одиночные GZIP-файлы, показывает содержимое, проверяет целостность и позволяет выбрать уровень сжатия.

АрхивыВерсия 1.2.3Стабильная
lil-terminal

Обзор

ZIP подходит для сжатого дерева каталогов, GZIP — когда нужно сжать один файл. Перед распаковкой архив можно просмотреть или проверить; -f явно разрешает замену, а -d удаляет источник только после успешного создания.

ZIP хранит дерево, GZIP сжимает один файл

ZIP может содержать много файлов и каталогов. GZIP содержит один сжатый поток, поэтому zip <file> -gz не создаёт второе дерево архива. Для обоих форматов применяются те же явные правила путей и конфликтов там, где они имеют смысл.

Синтаксис

lil-terminal
zip <src|arc.zip|file.gz> [dst] [options]

Справочник

zip <src> [dst]

создать ZIP-архив

zip <arc.zip> [dst]

распаковать ZIP-архив в текущий каталог или <dst>

zip <file.gz> [dst]

распаковать GZIP в текущий каталог или <dst>

-l

показать сведения об архиве без распаковки

-t

проверить пути архива и целостность данных

-gz

сжать один файл в GZIP

-f

заменить архив или существующие распакованные файлы

-d @del

удалить исходник после успешного создания архива

-0 .. -9

задать уровень сжатия (по умолчанию 6)

Просмотр архива

-l читает оглавление без распаковки. Для ZIP элементы выводятся структурированными строками «путь / тип / размер», а -t проверяет безопасные пути и читает содержимое файлов, выявляя повреждения. Для GZIP показываются сжатый и исходный размеры, когда эти данные доступны.

Уровень сжатия

-0 сохраняет ZIP-элементы без DEFLATE-сжатия. Значения -1-9 выбирают уровень сжатия, если формат и PHP его поддерживают; по умолчанию используется 6. Для GZIP тот же диапазон передаётся zlib.

Безопасная распаковка

Перед распаковкой пути нормализуются: абсолютные пути, выход через .., повторяющиеся назначения и символические ссылки отклоняются. Существующие файлы сохраняются, пока явно не указан -f. Флаг -d допустим только при создании архива и вызывает del после успешного завершения архива.

Интерактивный пример из `/sandbox/`

Запускайте подготовленные примеры прямо на странице. Результат заранее сформирован и показывается в браузере; команды терминала на сервере не выполняются.

Создать ZIP-архив

Установка и управление

Устанавливайте актуальную совместимую версию. Для полного набора возможностей выбирайте Base, для сокращённого — Minimum; уже установленный модуль обновляет команда upgrade.

Base и Minimum — два пакета одного текущего релиза модуля, а не разные версии команды.

Пакет Base

Установить полный пакет с локальной справкой и всеми опубликованными режимами.

install zip
Пакет Minimum

Установить сокращённый пакет без локальной справки; help <cmd> -i открывает актуальную серверную справку.

install zip -m
Точная публичная версия

Установить именно эту опубликованную версию.

install zip -v 1.2.3
Проверить или обновить

Поручить upgrade проверить совместимость и заменить установленный блок только при необходимости.

upgrade zip
Удалить модуль

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

install zip -u

Примеры

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

Создать ZIP-архив
cd \sandbox | zip my | cd .
my/
  1.txt
  2.txt
  data/
  test.txt
my.zip
Zip · list
zip tmp/my.zip -l
my/1.txt       file · 0 B
my/2.txt       file · 0 B
my/123.jpg     file · 37.4 KB
Zip · test
zip tmp/my.zip -t
Status   Archive OK
Entries  7
Files    5
Распаковать ZIP-архив в текущий каталог или <dst>
zip tmp/my.zip tmp/unpacked
extracted  tmp/unpacked/my/
files      5
Zip · log
zip logs/app.log -gz
created  logs/app.log.gz
Распаковать GZIP в текущий каталог или <dst>
zip logs/app.log.gz tmp/app.log
extracted  tmp/app.log
Zip · data
zip data tmp/data.zip -9
created  tmp/data.zip
level    9
Zip · data
zip data tmp/data.zip -f
created  tmp/data.zip
replace  explicit
Zip · txt
zip tmp/draft.txt tmp/draft.zip -d
created  tmp/draft.zip
source   removed after successful archive creation
Распаковать ZIP-архив в текущий каталог или <dst>
zip missing.zip
Файл не найден: missing.zip

Файл из примера: sandbox/data/sample.txt

Пример использует файл или каталог из защищённой учебной папки /sandbox/.

lil-terminal sandbox text file

This file is safe to read, copy, rename, replace, hash and archive.

Связанная документация

Текущая публичная версия

v1.2.32026-08-14

Компактные флаги ZIP

Основные действия с архивом остаются сверху, а рабочие флаги собраны отдельной группой.