tar

tar создаёт, просматривает, проверяет и распаковывает несжатые TAR-архивы средствами PHP, отклоняя переходы по путям, ссылки и другие небезопасные элементы архива.

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

Обзор

Используйте TAR, когда нужно собрать дерево файлов в один переносимый контейнер без сжатия — например для развёртывания, резервной копии или передачи проекта. -l показывает состав, -t проверяет архив, а -f явно разрешает замену существующих файлов.

TAR — контейнер, а не сжатие

TAR хранит дерево каталогов в одном файле, но не сжимает его содержимое. Флаг -d передаёт удаление исходника команде del только после успешного создания архива, поэтому создание и удаление остаются двумя отдельными действиями.

Синтаксис

lil-terminal
tar <src|arc.tar> [dst] [options]

Справочник

tar <src> [dst]

создать несжатый TAR-архив

tar <arc.tar> [dst]

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

Один контейнер без сжатия

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

Посмотреть до распаковки

tar tmp/data.tar -l показывает состав. -t проверяет заголовки, пути и читаемость файлов без записи на диск. Для распаковки укажите архив и, при необходимости, папку назначения: tar tmp/data.tar tmp/restored.

Замена и удаление исходника

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

Границы безопасности

При распаковке отвергаются абсолютные пути, переходы через .., символьные ссылки и неподдерживаемые элементы. Для работы нужен PHP PharData.

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

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

Создать несжатый TAR-архив

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

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

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

Пакет Base

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

install tar
Пакет Minimum

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

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

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

install tar -v 1.1.5
Проверить или обновить

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

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

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

install tar -u

Примеры

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

Создать несжатый TAR-архив
cd \sandbox | tar data tmp/data.tar
sandbox

README.txt
current.txt
data.tar
data.zip
draft.txt
new.txt
Tar · list
tar tmp/data.tar -l
D  -      data/
F  59 B   data/sample.csv
F  100 B  data/sample.txt
F  102 B  data/users.json
Tar · test
tar tmp/data.tar -t
Status   Archive OK
Entries  4
Files    3
Size     261 B
Распаковать архив в текущий каталог или <dst>
tar tmp/data.tar tmp/restored
restored/
  data/
    sample.csv
    sample.txt
    users.json
Создать несжатый TAR-архив
tar data tmp/data.tar
Archive already exists
Tar · data
tar data tmp/data.tar -f
README.txt
current.txt
data.tar
data.zip
draft.txt
new.txt
Tar · txt
tar tmp/draft.txt tmp/draft.tar -d
README.txt
current.txt
data.tar
data.zip
draft.tar
new.txt
(source draft.txt removed only after successful creation)
Tar · tar
tar tmp/data.tar -l -t
?
Создать несжатый TAR-архив
tar missing tmp/missing.tar
Source not found

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

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

lil-terminal sandbox text file

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

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

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

v1.1.52026-10-31

Безопасное создание TAR

При замене TAR старый архив сохраняется до готовности нового.