Файлы и каталоги без лишнего риска
Файловый менеджер показывает дерево. Терминал позволяет описывать изменения этого дерева. Самый надёжный ритм прост: посмотреть → изменить → посмотреть ещё раз.
Думайте деревом, а не окнами
Любой проект — это дерево каталогов и файлов. Терминал не отменяет эту картину, он просто даёт короткие глаголы для работы с ней:
Полезно явно писать пути. project/notes/ideas.txt сразу говорит и что это за файл, и где он лежит. Понятные пути делают команды читаемыми через месяцы и помогают переносить сценарии.
Соберите маленький проект из пустой папки
Создайте отдельные каталоги для ресурсов, конфигурации и заметок. Это обычная организация файловой системы, а не особенность lil-terminal.
После создания сразу попросите
cd lil-playgroundmd project | md project/assets | md project/config | md project/notesmf project/notes/ideas.txt | mf project/config/app.inidir 3 project -G -aСначала посмотрите, потом меняйте
Это полезнее, чем надеяться на один «безопасный флаг». Терминал не знает, что две почти одинаково названные папки для вас имеют совершенно разный смысл; контекст добавляете вы.
stat project/notes/ideas.txtdir 2 project -G -aКопировать, переместить и переименовать — три разных намерения
После каждой операции снова посмотрите дерево. Работа становится предсказуемой, когда ещё до запуска команды вы можете представить, что именно изменится.
copy project/notes/ideas.txt project/notes/ideas.copy.txtren project/notes/ideas.copy.txt ideas-archive.txtmd project/archivemov project/notes/ideas-archive.txt project/archiveИщите по проекту, а не открывайте папки по очереди
Начинайте с узкого диапазона. Найдите имя файла внутри project, затем попробуйте поиск текста в том же маленьком дереве. Та же модель потом работает и на большом проекте.
find ideas -f -p projectfind app -f -e ini -p project/configfind archive -F -p projectДля удаления нужен отдельный ритуал
Удаление — тот случай, где скорость почти ничего не даёт. Создайте одноразовую папку project/tmp, посмотрите её содержимое и только затем удалите рекурсивно. Никогда не переносите разрушительный пример в настоящий проект, не перепроверив путь вручную.
Хорошее правило: чем короче команда удаления, тем внимательнее проверяйте её цель. Терминал умеет удалить быстро, поэтому ваш процесс должен делать цель очевидной.
md project/tmp | mf project/tmp/throw-away.txtdir 2 project/tmp -G -adel project/tmp -rКаркас проекта — уже автоматизация
Если новые проекты постоянно начинаются с одинаковых папок, перестаньте собирать их вручную. Сохраните проверенную последовательность в .lil. Получится переносимый каркас проекта.
Позже в него можно добавить конфигурацию, архивы, загрузку, проверки и установку модулей. Главное — наращивать сценарий из уже понятных действий, а не превращать его в огромный непрозрачный рецепт.
Сохраните это как сценарий
Сохраните это как project-skeleton.lil. Сценарий создаёт маленькую предсказуемую структуру. Для нового проекта меняйте только действительно проектные имена, а проверенную основу переносите дальше.
#lil
@install md mf dir stat copy ren mov find
cd lil-playground
md project
md project/assets
md project/config
md project/notes
mf project/notes/ideas.txt
dir 3 project -G -a