Введение

Часть 6

Архивы, передача и медиа: переносите проект, не теряя метод

Файлы по-настоящему становятся рабочим материалом, когда вы умеете их упаковать, проверить, передать и преобразовать. Терминал позволяет связать эти действия в одну читаемую цепочку вместо набора несвязанных окон и диалогов.

Архив — это не просто файл поменьше

Хороший архив — контрольная точка: именованный снимок дерева, который можно оставить перед рискованной операцией, передать человеку или перенести на другой хостинг. TAR и ZIP упаковывают дерево по-разному, но дают один важный эффект — множество путей превращается в один понятный объект.

Создавайте архивы отдельно, например в backups, и сразу смотрите получившийся файл через stat. Разделение исходников и резервных копий делает будущие сценарии гораздо яснее.

install md mf dir stat tar zip upload img exif attr copy
cd lil-playground
md archive-demo
mf archive-demo/README.txt
mf archive-demo/config.ini
md backups
tar archive-demo backups/archive-demo.tar -f
stat backups/archive-demo.tar

TAR и ZIP решают похожие, но не одинаковые задачи

TAR — простой контейнер архива; в lil-terminal он намеренно без сжатия. ZIP объединяет архив и сжатие и очень удобен для обмена с обычными настольными программами. GZIP в модуле zip сжимает один файл и не заменяет архив каталога.

Выбирайте формат по задаче, а не по привычке. TAR хорош как прямой снимок дерева, ZIP — когда важны компактность и совместимость.

TARдерево → один архивПростой несжатый снимок проекта
ZIPдерево → сжатый архивКомпактный обмен с привычными программами
GZIPодин файл → сжатый потокСжатие одного файла
tar backups/archive-demo.tar -l
tar backups/archive-demo.tar -t
zip archive-demo backups/archive-demo.zip -f -6
zip backups/archive-demo.zip -t

Сначала список и проверка, потом распаковка

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

Для упражнения распакуйте в restore-test и затем посмотрите дерево. Отдельное назначение превращает восстановление в обратимое сравнение, а не в прыжок с закрытыми глазами.

md restore-test
tar backups/archive-demo.tar restore-test
dir 2 restore-test -G -a

Загрузка и скачивание — граница браузера, а не отдельный мир

upload открывает системный выбор файла в браузере, но выбранные файлы сразу оказываются в той же файловой системе, которую понимают остальные команды. download ведёт в обратную сторону. Для каталога он сам создаёт временный TAR для передачи и затем удаляет его.

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

md media
upload media
download backups/archive-demo.zip -n archive-demo-backup.zip
download archive-demo

Перед изменением пикселей сначала посмотрите изображение

Загрузите одноразовый JPEG как media/photo.jpg. img покажет формат, размеры и вес; exif -i добавит данные камеры, если они существуют; attr ... dimensions даст короткую переносимую проверку размеров.

EXIF есть не у каждого изображения и не является самим изображением. Сначала задавайте надёжные вопросы: что это за файл, сколько он весит и каковы его реальные размеры.

img media/photo.jpg
exif media/photo.jpg -i
attr media/photo.jpg dimensions

Пакетную обработку сначала стройте на копии

Жизненный процесс часто выглядит так: посмотреть оригиналы сделать рабочую копию уменьшить преобразовать проверить результат. Пример создаёт WebP в пределах 1600x1600 с качеством 82, а затем показывает пакетную форму для каталога.

Числа в примере не являются универсальной рекомендацией. Это параметры вашей собственной технологии публикации. Когда вы проверили их на нескольких характерных изображениях, применение того же правила к сотне файлов концептуально ничем не сложнее одного.

copy media media-work
img media-work/photo.jpg -s 1600x1600 -t webp -q 82 -o media-work/photo.webp
img -f media-work "*.jpg" -s 1600x1600 -t webp -q 82
dir 1 media-work -G -a

Пакет доставки можно пересобрать, а не вспоминать

Если каждый выпуск требует TAR-контрольной точки, ZIP для передачи и проверки обоих архивов, сохраните эти шаги. Сценарий ниже каждый раз пересобирает пакет и тестирует его.

Повторяемый процесс убирает из релиза вопрос «какие галочки я нажимал в прошлый раз?». Метод становится текстом, который можно прочитать, сравнить и перенести.

Сохраните это как сценарий

Сохраните это как package-project.lil. Сценарий пересобирает TAR и ZIP с явным разрешением замены, тестирует оба и показывает каталог резервных копий. Интерактивная загрузка через upload и правила обработки медиа намеренно остаются за пределами автоматического сценария.

#lil
@install md dir stat tar zip
cd lil-playground
md backups
tar archive-demo backups/archive-demo.tar -f
tar backups/archive-demo.tar -t
zip archive-demo backups/archive-demo.zip -f -6
zip backups/archive-demo.zip -t
dir 1 backups -G