====== Работа с терминалом ====== ===== Введение ===== Для упрощения некоторых операций с модемом и роутером мы добавили терминал. Терминал - это программа которая способна исполнять введённые пользователем команды. В нашем случае это не голый linux-терминал, а отдельное окружение, позволяющее вызывать специфические команды в упрощённом режиме. Также имеется возможность писать собственные команды и вызывать их из терминала. Подробнее об этом рассказано в статье [[docs/routery/upravlenie-modemom/dobavlenie-sobstvennyh-Shell-shablonov.md|Добавление собственных Shell-шаблонов]] Перед вводом команды убедитесь, что вы понимаете, что вы вводите и что произойдёт после её исполнения. Любые действия совершайте только на свой страх и риск. Обратите внимание, что команды, которые захватывают поток вывода на продолжительное время, например logread -f Не будут исполнены корректно и, скорее всего, заблокируют ввод новых команд на 1-2 минуты. ===== Интерфейс терминала ===== {{routery:upravlenie-modemom:rabota-s-terminalom:interface.png|Интерфейс терминала}} Интерфейс терминала доступен на вкладке Модем - Терминал. В центре страницы расположено поле выводе терминала - здесь будут отображаться результаты введённых вами команд.\\ {{routery:upravlenie-modemom:rabota-s-terminalom:example.png|Пример команды и ответа на неё}}\\ Снизу расположена строка ввода команд, а также управляющие кнопки: * Отправить - немедленно отправляет введённую команду на роутер * Автоотправка - Автоматически отправляет введённую команду до нажатия кнопки Отмена либо до ошибки исполнения, после чего терминал переходит в обычный режим {{routery:upravlenie-modemom:rabota-s-terminalom:autosend.png|Автоотправка}} Также присутствует возможность выделять команды в окне терминала левой кнопкой мыши и они сразу же подставятся в поле ввода команд. Также доступна навигация стрелками Вверх и Вниз на клавиатуре.\\ {{routery:upravlenie-modemom:rabota-s-terminalom:selectcommand.png|Выбор команд}} В верхнем правом углу расположена кнопка Действие:\\ {{routery:upravlenie-modemom:rabota-s-terminalom:action.png|Меню Действие}} * Очистить историю - Удаляет историю отправленных команд и очищает поле вывода терминала * Загрузить историю - Скачивает на ваш компьютер историю отправленных команд и результаты их исполнения. С помощью этой функции очень удобно делиться результатами с техподдержкой, например ===== AT-команды ===== С помощью данного терминала можно напрямую в модем отправлять АТ-команды. Например, чтобы быстро получить инофрмаци о модеме, введите: ATI В ответ вы получите основную информацию о модеме:\\ {{routery:upravlenie-modemom:rabota-s-terminalom:ati.png|ATI}} Как пример, в статье [[docs/routery/upravlenie-modemom/blokirovanie-vhodyashchih-vyzovov.md|Блокирование входящих вызовов]] расположены подряд 3 АТ-команды. Вместо подключения к роутеру по ssh и ввод команд через mmcli можно ввести их сразу в терминал. ===== Mmcli ===== Mmcli - это подпрограмма linux, позваляющая управлять модемом и получать о нём информацию на низком уровне. Например, для того чтобы получить список сообщений через mmcli, необходимо ввести команду mmcli --messaging-list-sms {{routery:upravlenie-modemom:rabota-s-terminalom:mmclisms.png|mmcli список сообщений}} Обратите внимание, что при вводе mmcli-команд не нужно вводить ключ –modem=modem1, терминал делает это самостоятельно Прочитаем какую-нибудь смс командой mmcli --sms 4 В результате получим:\\ {{routery:upravlenie-modemom:rabota-s-terminalom:mmclismsread.png|Mmcli СМС}} Более полный список всех возможных команд можно получить введя команду mmcli --help-all Если ваш модем поддерживает qmi - можно использовать qmicli вместо mmcli ===== Service ===== Данная команда позволяет исполнять код в окружении сервиса модема. С её помощью можно вызывать команды из списка. service help Например:\\ {{routery:upravlenie-modemom:rabota-s-terminalom:service.png|Сервис}} ===== Shell ===== Для вызова обычных команд и отладки Shell-шаблонов можно использовать shell. Например, выведем папки из корневой директории командой shell ls / {{routery:upravlenie-modemom:rabota-s-terminalom:shellls.png|Shell}} А этой командой вызовем скрипт из Shell-шаблона shell modem_get_signal {{routery:upravlenie-modemom:rabota-s-terminalom:shellshell.png|Shell shell}}