Командная строка
Командная строка — это инструмент для выполнения широкого спектра задач, от исполнения кода до создания сложных моделей в Engee. Благодаря поддержке популярных текстовых редакторов, интеграции с Git и различными режимами работы, а также многочисленным командам управления, командная строка интегрируется во все сценарии работы Engee.
В статье рассмотрены:
Горячие клавиши
В командной строке Engee доступны различные горячие клавиши, упрощающие навигацию и редактирование, например:
-
↑ — посмотреть предыдущую команду из истории команд.
-
↓ — посмотреть следующую команду из истории команд.
-
← — перемещает курсор на один символ влево.
-
→ — перемещает курсор на один символ вправо.
Некоторые команды для операционных систем Linux и macOS могут не работать корректно из-за особенностей метасимволов, системных горячих клавиш и программных настроек. |
-
g+c — открыть командную строку и сделать окно активным.
-
o+c — открыть командную строку и не делать окно активным.
-
m+c — максимизировать окно командной строки.
-
c+c — закрыть окно командной строки.
-
Ctrl+← — переместить курсор на целое слово влево.
-
Ctrl+→ — переместить курсор на целое слово вправо.
-
Ctrl+A — переместить курсор в начало строки. Аналогично для Alt+A.
-
Ctrl+E — переместить курсор в конец строки. Аналогично для Alt+E.
-
Ctrl+K — удалить текст от курсора до конца строки.
-
Ctrl+U — удалить текст от курсора до начала строки.
-
Ctrl+C — прервать текущую команду.
-
Ctrl+L — очистить экран терминала.
-
Ctrl+Y — вставить последний удаленный текст.
-
Ctrl+J — перевести строку на следующий абзац.
Для macOS вместо Ctrl используется Command (⌘) и Option вместо Alt.
-
Alt+ЛКМ — переместить курсор в выбранное место.
-
Shift+← — выделить текст посимвольно влево.
-
Shift+→ — выделить текст посимвольно вправо.
Сочетание из введенной строки на латинице и клавиши Tab, отобразит список доступных команд Engee, начинающихся с набранной строки. Tab в пустой строке отобразит список всех доступных команд Engee.
Для отображения команд в Engee требуется инициализация, поэтому Tab работает со второго раза; после этого данные кэшируются и Tab работает с первого раза. При вводе новой команды требуется повторная инициализация и повторное двойное нажатие Tab. |
Для переопределения или создания новых горячих клавиш используется словарь REPL.setup_interface
(подробнее здесь).
Режимы командной строки
Разные режимы командной строки Engee обеспечивают специализированные среды для выполнения различных задач. Эти режимы помогают переключаться между задачами, не покидая командной строки. В Engee доступны:
-
Обычный режим
-
Режим справки
-
Режим оболочки
-
Режим пакетного менеджера
-
Режимы поиска
-
Режимы редактора текста
Обычный режим
Обычный режим является основным интерфейсом командной строки, позволяет интерактивно вводить команды, выполнять их и сразу же получать результат. Ядром Engee является язык Julia, поэтому в командной строке доступен весь функционал языка с его преимуществами, особенностями синтаксиса и не только.
Подробнее о возможностях языка Julia читайте здесь.
Режим справки
Режим справки вызывается с помощью вопросительного знака ?. Этот режим позволяет получить информацию о доступных в Engee командах и их использовании. Например, для получения информации о функции сохранения модели engee.save
введите название функции и нажмите Enter:
Для выхода из режима нажмите клавишу Backspace или сочетание клавиш Ctrl+C.
Режим оболочки
Режим оболочки вызывается с помощью символа ;. Этот режим позволяет выполнять стандартные команды Unix/Linux. Это включает в себя навигацию по файловой системе, управление процессами, работу с файлами и другие задачи.
Например, в директории new_directory файлового браузера Engee находится файл модели newmodel_1.engee:
С помощью режима оболочки и команды ls
можно посмотреть содержимое директории не покидая командной строки:
Среди основных команд в режиме оболочки можно выделить:
Команда | Описание |
---|---|
|
Перемещение или переименование файлов и директорий |
|
Удаление файлов и директорий |
|
Создание директорий |
|
Список содержимого директории |
|
Изменение текущей директории |
|
Показ текущей директории |
|
Копирование файлов и директорий |
|
Просмотр содержимого файла |
|
Вывод строки текста |
Для выхода из режима нажмите клавишу Backspace или сочетание клавиш Ctrl+C.
Режим пакетного менеджера
Режим пакетного менеджера Pkg вызывается с помощью символа ]. Этот режим позволяет устанавливать, обновлять и управлять пакетами Julia, что необходимо для расширения функциональности и установки дополнительных библиотек. Например, для добавления библиотеки Pluto:
Подробнее о работе с библиотеками Julia в Engee читайте здесь.
Режимы поиска
Режимы поиска вызываются с помощью комбинаций клавиш Ctrl+R для обратного (reverse) и Ctrl+S для прямого (forward) поиска соответственно:
Режим поиска | Описание |
---|---|
Обратный поиск |
Позволяет выполнять поиск по истории команд в обратном порядке. Введите часть команды или слово, и командная строка начнет искать в истории, начиная с последней введенной команды в обратном порядке. Повторное нажатие клавиш Ctrl+R продолжит поиск по истории в обратном порядке. |
Прямой поиск |
Позволяет выполнять поиск по истории команд в прямом порядке. Введите часть команды или слово, и командная строка начнет искать в истории, начиная с первой введенной команды в прямом порядке. Повторное нажатие клавиш Ctrl+S продолжит поиск по истории в прямом порядке. |
Если поиск не дал результатов — к режиму будет приписано failed
.
Для переключения между режимами поиска не требуется выходить в основной режим. |
Для выхода из режима нажмите клавишу Backspace или Home или сочетание клавиш Ctrl+C.
Режимы редактора текста
Перед началом работы с текстовыми редакторами vi, vim и nano в командной строке Engee рекомендуется изучить их функционал. При возникновении трудностей обращайтесь к литературе соответствующего редактора или иным источникам. |
Режимы текстовых редакторов vi, vim и nano вызываются из режима оболочки (shell) с помощью команд vi
, vim
и nano
соответственно и позволяют редактировать файлы не выходя из командной строки.
Интерфейс vi/vim:
Интерфейс nano:
Для выхода:
-
vi, vim — нажмите клавишу Esc, чтобы убедиться, что редактор находится в режиме команд (normal mode). Затем введите команду
:q!
и нажмите клавишу Enter для выхода без сохранения изменений. Если внесены изменения которые нужно сохранить, то используется команда:wq
.
-
nano — нажмите комбинацию клавиш Ctrl+X для выхода. Если внесены изменения которые нужно сохранить, то нажмите Y и после Enter. Для выхода без сохранения нажмите N и затем Enter.
-
Если сохранить изменения, то редактор предложит ввести имя файла для сохранения. Введите имя файла и нажмите Enter.
-
Если не сохранять изменения, то редактор закроется без сохранения.
-
После выхода из текстовых редакторов командная строка остается в режиме оболочки. Для выхода из режима оболочки нажмите клавишу Backspace или сочетание клавиш Ctrl+C.
Программное управление моделированием
Для программного управления моделями в Engee используются публичные методы. Вызвать все доступные публичные методы можно командой engee.
и нажатием клавиши Tab в командной строке:
Получить справку по каждому публичному методу можно через режим справки командной строки:
Например, можно создать модель, добавить в нее блоки с соединительными линиями, задать им параметры и запустить симуляцию модели не выходя из командной строки:
engee.create("newmodel_1") #создается модель newmodel_1
engee.add_block("/Basic/Sources/Sine Wave", "newmodel_1/") #добавляет блок Sine Wave
engee.add_block("/Basic/Sinks/Terminator", "newmodel_1/") # добавляет блок Terminator
engee.add_line("Sine Wave/1", "Terminator/1") #устанавливает сигнал между выходным портом №1 у блока Sin Wave и входным портом №1 блока Terminator
engee.get_param("newmodel_1") #получение параметров моделирования
engee.set_param!("newmodel_1", "StopTime" => 15, "FixedStep" => 0.05) # меняем фиксированный размер шага и время окончания симуляции
engee.run("newmodel_1"; verbose=false) #запуск симуляции без вывода прогресса симуляции (verbose=false)
График, построенный с помощью Plots в командной строке, будет выведен в окно Графики Engee на отдельную вкладку plot: → |
Подробнее об управлении моделированием читайте здесь.
Функции ввода/вывода
Engee поддерживает различные форматы файлов, данными которых можно управлять с помощью функций ввода/вывода в командной строке. Например, в файловом браузере Engee есть файл формата .json:
Для прочтения данных в командной строке используется функция read
:
engee> read("test.json")
#вывод результата в виде массива байт
69-element Vector{UInt8}:
0x7b
0x0d
0x0a
⋮
0x0a
0x7d
Функция read
может принимать аргумент представления. В данном случае String (строка), следовательно, вывод функции преобразуется в строку:
engee> read("test.json", String) #считывает содержимое файла и возвращает его в виде строки
#вывод результата
"{\n \"fruit\": \"Apple\",\n \"size\": \"Large\",\n \"color\": \"Red\"\n}"
Интеграция с Git
Командная строка обеспечивает полный цикл версионного контроля, что позволяет управлять своими проектами и репозиториями, не покидая рабочее пространство Engee.
Рекомендуем ознакомиться с разделом Работа с Git прежде, чем приступать к работе с Git в командной строке. |
Пример указания SSH-ключа и хостинга представлен через редактор nano в командной строке.