Для упрощения использования командной строки интерфейс поддерживает функцию автоматического дополнения команд. Эта функция активируется при неполно набранной команде и вводе символа табуляции <Tab>.
Другая функция, помогающая пользоваться командной строкой – контекстная подсказка. На любом этапе ввода команды можно получить подсказку о следующих элементах команды путем ввода вопросительного знака <?>.
Для упрощения команд всей системе команд придана иерархическая структура. Для перехода между уровнями иерархии предназначены специальные команды перехода. Это позволяет использовать менее объемные команды на каждом из уровней. Для обозначения текущего уровня, на котором находится пользователь, динамически изменяется строка приглашения системы.
Пример:
esr> enable Включение 15 уровня привилегий
esr# configure Переход в режим конфигурирования устройства
esr(config)# esr(config)# exit возврат на уровень выше esr#
Для удобства использования командной строки реализована поддержка горячих клавиш, перечисленных в таблице 1.
Таблица 1 – Описание горячих клавиш командной строки CLI
Сочетание клавиши | Описание |
---|---|
Ctrl+D | Во вложенном командном режиме – выход в предыдущий командный режим (команда exit), в корневом командном режиме – выход из CLI (команда logout) |
Ctrl+Z | Выход в корневой командный режим (команда top) |
Ctrl+A | Переход в начало строки |
Ctrl+E | Переход в конец строки |
Ctrl+U | Удаление символов слева от курсора |
Ctrl+К | Удаление символов справа от курсора |
Ctrl+С | Очистка строки, а также обрыв выполнения команды |
Ctrl+W | Удаление слова слева от курсора |
Ctrl+B | Переход курсора на одну позицию назад |
Ctrl+F | Переход курсора на одну позицию вперед |
Ctrl+L | Очистка экрана |
Для удобства чтения добавлен постраничный вывод большой по объему информации.
Пример:
esr# show running-config syslog max-files 3 syslog file-size 512 syslog file esr info syslog console info interface gigabitethernet 1/0/1 ip address 10.100.14.1/24 exit interface gigabitethernet 1/0/1.101 exit interface gigabitethernet 1/0/2 ip address 192.168.1.1/24 ip address 10.100.100.2/24 secondary exit interface gigabitethernet 1/0/2.150 ip address 10.150.150.2/24 exit interface gigabitethernet 1/0/2.151 ip address 10.151.151.15/24 exit interface gigabitethernet 1/0/3 ip address dhcp enable exit interface gigabitethernet 1/0/5.55 More? Enter – next line; Space – next page; Q – quit; R – show the rest.
Для отключения постраничного вывода в текущей сессии необходимо ввести команду:
esr# terminal datadump
Интерфейс командной строки обеспечивает авторизацию пользователей и ограничивает доступ к командам на основании уровня привилегий, заданного администратором.
В системе может быть создано необходимое количество пользователей. Необходимый уровень привилегий задаётся индивидуально для каждого из них.
В заводской конфигурации в системе создан один пользователь с именем admin и паролем password.
Для обеспечения безопасности командного интерфейса команды распределены между 1, 10 и 15 уровнем привилегий:
- 1 уровень – доступен только мониторинг устройства;
- 10 уровень – доступно конфигурирование устройства, кроме создания пользователей, перезагрузки устройства, загрузки ПО;
- 15 уровень – нет ограничений.
Получение 15 уровня привилегий:
(esr)> enable (esr)#
Возвращение на первоначальный уровень привилегий:
(esr)# disable (esr)>
Система позволяет нескольким пользователям одновременно подключаться к устройству.
При вводе в качестве параметров строк, содержащих пробелы, вводимые данные можно заключить в кавычки или апострофы:
esr(config)# interface gigabitethernet 1/0/1 esr(config-if-gi)# description "[WAN] ISP-1 link" esr(config-if-gi)# exit esr(config)# interface gigabitethernet 1/0/2 esr(config-if-gi)# description '[WAN] ISP-2 link' esr(config-if-gi)#
Основное отличие между кавычками и апострофами заключается в том, что при использовании кавычек часть спецсимволов внутри для корректного ввода необходимо экранировать, а текст между апострофами интерпретируется "как есть":
esr(config)# banner login "first line\\nsecond line" esr(config)# banner exec 'first line\nsecond line' esr(config)#
Для уменьшения объема отображаемых данных в ответ на запросы пользователя и облегчения поиска необходимой информации можно воспользоваться фильтрацией. Для фильтрации информации требуется добавить в конец командной строки символ «|» и использовать одну из опций фильтрации:
- begin – выводить все после строки, содержащей заданный шаблон;
- count – выводить только количество строк, отображаемых в выводе команды (без вывода информации, отображаемой самой командой);
- counter – добавляет к выводимой информации номера строк;
- include – выводить все строки, содержащие заданный шаблон;
- exclude – выводить все строки, не содержащие заданный шаблон;
- until – выводить все до строки, содержащей заданный шаблон.
Шаблон поиска может быть задан регулярным выражением и содержать:
– Перечень символов. Можно определить перечень, заключив символы в квадратные скобки «[]». Соответствие будет проверяться по символам, перечисленным в перечне. Если первый символ перечня «^», то соответствие будет проверяться по любому символу, не входящему в перечень. Примеры:
[-az] – 'a', 'z' и '-';
[a-z] – все латинские буквы от 'a' до 'z'.
– Специальные символы и операторы:
- ^ – начало строки;
- $ – конец строки;
- . – любой символ в строке;
- * – ноль или более раз;
- | – или.
Вывод команды «show running-config syslog» без параметров:
esr# show running-config syslog syslog max-files 3 syslog file-size 512 syslog file default info
Вывод команды «show running-config syslog» c параметром «begin»:
esr# show running-config syslog | begin file-size syslog file-size 512 syslog file default info
Вывод команды «show running-config syslog» c параметром «include»:
esr# show running-config syslog | include file-size syslog file-size 512
Вывод команды «show running-config syslog» c параметром «exclude»:
esr# show running-config syslog | exclude file-size syslog max-files 3 syslog file default info
Примеры использования регулярных выражений:
esr# show interfaces status | include "^te.*" te1/0/1 Up Down 1500 a8:f9:4b:aa:05:d9 te1/0/2 Up Down 1500 a8:f9:4b:aa:05:da esr# show interfaces status | include "^gi1/0/1[2568]" gi1/0/12 Up Down 1500 a8:f9:4b:aa:05:cc gi1/0/15 Up Down 1500 a8:f9:4b:aa:05:cf gi1/0/16 Up Down 1500 a8:f9:4b:aa:05:d0 gi1/0/18 Up Down 1500 a8:f9:4b:aa:05:d2 esr# show interfaces status | include "^[^tgI -]" bridge 1 Up Up 1500 a8:f9:4b:aa:05:c0 bridge 2 Up Up 1500 a8:f9:4b:aa:05:c0 esr# show interfaces status | include "(/3|/5)" gi1/0/3 Up Down 1500 a8:f9:4b:ab:0e:23 gi1/0/5 Up Down 1500 a8:f9:4b:ab:0e:25
Для вывода информации, запрошенной командой show, в файл требуется добавить в конец командной строки соответствующий символ, путь и имя для создания или дополнения текстового файла.
Символы для вывода информации в файл:
- > – записать вывод команды в файл;
- >> – дописать вывод команды в конец файла.
Возможные пути для сохранения текстовых файлов вывода команд:
- flash:data/<FILE> – файл будет создан или дополнен в энергонезависимой памяти маршрутизатора в разделе flash:data;
- usb://<USB-NAME>:/<FILE> – файл будет создан или дополнен на USB-носителе с именем <USB-NAME>;
- mmc://<MMC-NAME>:/<FILE> – файл будет создан или дополнен на USB-носителе с именем <MMC-NAME>.