Перейти к содержанию

Введение в командную строку⚓︎

Ни для кого не секрет, что Grav создавался с учётом командной строки. Хотя плагин админки, безусловно, упрощает выполнение большего количества задач, не открывая терминал (MacOS и Linux) или командную строку (Windows), многое можно сказать о скорости и уровне контроля, которые возникают при работе из командной строки. .

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

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

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

MacOS⚓︎

MacOS основана на Unix и соответствует стандартам POSIX. Это означает, что большинство команд, с которыми вы, возможно, знакомы в других операционных системах Unix или Linux, будут работать в MacOS точно так, как ожидалось. Из этого правила есть некоторые исключения, и по этой причине мы рекомендуем изучить команды Терминала для конкретной операционной системы, с которой вы работаете.

Вот несколько полезных ресурсов, которые помогут вам привыкнуть к использованию терминала в MacOS:

Linux⚓︎

Подавляющее большинство дистрибутивов Linux (и Unix) имеют одну общую черту: интерфейс командной строки Bash (Терминал). Независимо от того, используете ли вы графический интерфейс, такой как Gnome, Unity или KDE, или нет, есть большая вероятность, что если вы используете дистрибутив Linux на своем рабочем столе или ноутбуке, вы зашли в командную строку.

В конце концов, это мощно. С графическим интерфейсом пользователя можно делать практически все, что угодно, прямо в командной строке, часто с большим контролем над выполнением команд. Вот несколько отличных ресурсов, которые помогут вам познакомиться с Терминалом в Linux:

Windows⚓︎

Windows стоит отдельно от пакета по ряду причин. Многие команды в командной строке Windows напоминают её корни DOS. Общие команды, такие как ls для вывода списка каталогов, здесь не работают. Вместо этого вы должны набрать dir. Вот несколько ресурсов, которые помогут вам разобраться в командной строке Windows:

Все команды CLI Grav полагаются на PHP, но это не сразу доступно в Windows. Вы можете узнать, установлен ли он, открыв консоль и набрав php -v для проверки. Если 'php' не распознается как внутренняя или внешняя команда, значит, он не установлен.

Если вы хотите добавить PHP в свою систему Windows, вам нужно найти свои «Переменные среды», либо выполнив поиск в меню «Пуск», либо выбрав Панель управления -> Расширенные настройки системы -> Нажмите «Переменные среды» - кнопка.

В разделе «Системные переменные» найдите Path и нажмите «Изменить». Скопируйте «значение переменной» в блокнот, а в конце добавьте точку с запятой - для разделения переменных. Затем найдите путь к вашей установке PHP (с нуля или используя текущую установку, поставляемую с вашей средой разработки), и добавьте его в конец этого длинного списка переменные. Вам нужен путь к папке, не включая php.exe.

Когда это будет сделано, откройте новую консоль (или перезапустите текущую), чтобы применить новый путь. Затем попробуйте снова php -v, вы должны получить примерно следующий результат:PHP 7.0.7 (cli) .... Когда вы запускаете команды Grav, вам нужно будет добавить к ним php, например,php grav/gpm index.

Специфические команды Grav⚓︎

Одна из самых крутых особенностей Grav заключается в том, что в вашем распоряжении множество мощных команд, позволяющих делать все, от установки дополнительных плагинов и тем до добавления пользователей в админку. В этом разделе мы перечислим многие из наиболее часто используемых команд.

Все перечисленные ниже команды совместимы с любой операционной системой.

Команда Описание
bin/grav list Список всех команд, доступных в Grav (кроме GPM).
bin/grav help <command> Помогает по конкретной команде.
bin/grav new-project <location> Используется для создания нового чистого экземпляра Grav в другой папке. Может быть запущен из существующей установки Grav.
bin/grav install Эта команда устанавливает все зависимости, необходимые для запуска текущей установки Grav.
bin/grav cache Эта команда очищает кэш вашей установки Grav. Варианты включают: --all, --assets-only, --images-only и --cache-only
bin/grav backup Создает резервную копию вашего текущего сайта Grav в формате zip.
bin/grav composer Обновляет установленные вручную пакеты поставщика на основе композитора.
bin/grav security Выполняет настроенные проверки безопасности XSS на всех страницах Grav
bin/gpm list Список всех команд, доступных через Grav GPM (Grav Package Manager).
bin/gpm help <command> Помогает по конкретной команде.
bin/gpm index Показывает список всех доступных ресурсов в репозитории Grav, организованный по темам и плагинам.
bin/gpm info Отображает сведения о желаемом пакете, такие как описание, автор, домашняя страница и т. д.
bin/gpm install Устанавливает ресурс из репозитория в ваш текущий экземпляр Grav с помощью простой команды.
bin/gpm update Проверяет установленные плагины и темы на наличие доступных обновлений и перечисляет их.
bin/gpm uninstall Удаляет установленную тему или плагин и очищает кэш.
bin/gpm self-upgrade Позволяет обновить Grav до последней версии.
bin/gpm logviewer Легко просматривайте журналы Grav с параметрами конфигурации, чтобы выбрать файл журнала, количество строк и подробность
bin/gpm scheduler Управляйте запланированными заданиями и при необходимости запускайте процесс планировщика вручную

Эти команды более подробно описаны в документации Grav CLI и Grav GPM.

Перечисленные ниже команды совместимы с системами Mac или Unix.

Команда Описание
bin/gpm index \| grep '\| installed' Список всех установленных у вас плагинов и тем.

Символические ссылки⚓︎

Символические ссылки (также известные как символические ссылки) невероятно полезны и легко выполняются в командной строке. Что он делает: он создает виртуальную копию (клон) заданной папки или её содержимого и помещает её туда, куда вы хотите. В отличие от настоящей копии, это просто туннель к оригиналу, поэтому все, что вы видите и изменяете, отражается сразу в нескольких местах.

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

Что касается Grav, то символические ссылки - отличный способ добавить плагины, темы и контент в несколько экземпляров и сделать это таким образом, чтобы их было легко обновлять и изменять. Вы вносите изменение один раз, и оно появляется везде, где есть символическая ссылка на файл (ы).

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

Символические ссылки в MacOS и Linux⚓︎

Команда следует общему шаблону ln -s <исходный файл, каталог или его содержимое> <поместить сюда виртуальные копии>.

Команды, инициирующие символическую ссылку, различаются в зависимости от операционной системы. Для MacOS и большинства дистрибутивов Unix и Linux команда ln -s. Часть ln сообщает системе, что вы хотите создать ссылку. Переключатель -s устанавливает символическую ссылку.

Символические ссылки в Windows⚓︎

Основная структура команды в Windows - mklink <тип> <поместить сюда виртуальные копии> <исходный файл, каталог или его содержимое>. В отличие от MacOS или Linux, вам нужно будет установить аргумент для типа файла, который вы символически связываете. В этом случае источник и место назначения также меняются местами, когда новая символическая ссылка ставится перед файлом, на который вы ссылаетесь. Здесь можно использовать три аргумента:

  • /j - это наиболее часто используемый аргумент. Создает символическую ссылку на каталог.
  • /h - Создает символическую ссылку для определенного файла.
  • /d - Создает программную ссылку или ярлык. Маловероятно, что он будет использоваться для указанных здесь целей.

Примеры команд⚓︎

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

Связывание содержимого одной папки с другой⚓︎

MacOS и Linux Windows
ln -s ~/folder1 ~/folder2 mklink /J C:\folder2 C:\folder1

Эта команда создает символическую ссылку, которая берет содержимое, изначально помещенное в folder1, и помещает его символьную копию в folder2. Если folder2 ещё не существует, она создается с помощью этой команды.

Связывайте целые папки из одного места в другое⚓︎

MacOS и Linux Windows
ln -s ~/folder1 ~/folder2/ mklink /J C:\folder2\ C:\folder1

Эта команда копирует весь каталог folder1 и помещает его в целевое расположение (в данном случае folder2). В этом случае folder2 должна уже существовать, так как она не будет создана с помощью этой команды. Обратите внимание на косую черту или обратную косую черту в конце при указании folder2.

Связывание отдельных файлов из одного места в другое⚓︎

MacOS и Linux Windows
ln -s ~/folder1/file.jpg ~/folder2 mklink /H C:\folder2\ C:\folder1\file.jpg

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