Использование интерфейса командной строки Cisco IOS

Использование интерфейса командной строки Cisco IOS
Интерфейс командной строки (CLI) Cisco IOS — основной интерфейс, используемый для конфигурирования, мониторинга и обслуживания устройств Cisco. Этот пользовательский интерфейс позволяет непосредственно выполнять команды Cisco IOS с помощью консоли маршрутизатора, терминала или с использованием удаленного доступа.
В этой главе описаны основные функции CLI Cisco IOS и порядок их применения. Рассматриваемые темы включают введение в режимы команд Cisco IOS, функции навигации и редактирования, функции справки и истории команд.
Дополнительные интерфейсы пользователя — это режим установки (используется при первоначальном запуске), веб-обозреватель Cisco и пользовательские меню, настраиваемые системным администратором. Информация о режиме установки изложена в части этого руководства "Конфигурирование с помощью процедур настройки и автоматической установки". Информация о выполнении команд в среде веб-обозревателя Cisco приведена в главе этого руководства "Использование интерфейса пользователя веб-обозревателя Cisco". Информация о пользовательских меню приведена в главе этого руководства "Управление подключениями, меню и системными баннерами".
Полное описание команд интерфейса пользователя, рассматриваемых в этой главе, приведено в документе Основы конфигурации Cisco IOS. Справочник по командам. Для поиска документации о других командах, упоминаемых в этом руководстве, используйте Алфавитный указатель справочника по командам Cisco IOS, версия 12.4.
Данная глава включает следующие разделы:
• Обзор командных режимов CLI Cisco IOS
• Список задач CLI Cisco IOS
• Использование CLI Cisco IOS: примеры
Обзор командных режимов CLI Cisco IOS
Чтобы облегчить конфигурирование устройств Cisco, интерфейс командной строки Cisco IOS разделен на отдельные командные режимы. В каждом командном режиме предусмотрен собственный набор команд для конфигурирования, обслуживания и мониторинга работы маршрутизатора и сети. Совокупность доступных в конкретный момент команд зависит от текущего командного режима. Ввод вопросительного знака (?) после системного приглашения позволяет вывести список доступных команд для каждого командного режима.
Применение определенных команд обеспечивает переход от одного командного режима к другому. Стандартный порядок, в котором пользователю следует осуществлять доступ к режимам, таков: пользовательский режим EXEC, привилегированный режим EXEC; режим глобальной конфигурации; режимы специальной конфигурации, подрежимы конфигурации и подрежимы конфигурации 2-го уровня.
Сеанс на маршрутизаторе обычно начинается в пользовательском режиме EXEC, который представляет собой один из двух уровней доступа режима EXEC. В целях безопасности в пользовательском режиме EXEC доступно лишь ограниченное подмножество команд EXEC. Этот уровень доступа предназначен для задач, не изменяющих конфигурацию маршрутизатора, например, определение статуса маршрутизатора.
Для получения доступа ко всем командам необходимо перейти в привилегированный режим EXEC, который обеспечивает второй уровень доступа режима EXEC. Обычно для входа в привилегированный режим EXEC требуется ввести пароль. В привилегированном режиме EXEC можно вводить любую команду EXEC, так как он предусматривает набор команд, расширенный по отношению к пользовательскому режиму EXEC.
Большинство команд режима EXEC являются "единовременными" командами, например, команды show или more, которые показывают статус текущей конфигурации, и команды clear, сбрасывающие счетчики или интерфейсы. Команды режима EXEC не сохраняются после перезагрузки маршрутизатора.
Из привилегированного режима EXEC можно перейти в режим глобальной конфигурации. В этом режиме возможен ввод команд, позволяющих конфигурировать общие характеристики системы. Режим глобальной конфигурации может использоваться также для перехода в специфические режимы конфигурирования. Режимы конфигурирования, включая режим глобальной конфигурации, позволяют вносить изменения в текущую конфигурацию. Если конфигурация позднее сохраняется, то эти команды сохраняются после перезагрузки маршрутизатора.
Из режима глобальной конфигурации можно перейти во множество режимов конфигурации, специфических для конкретного протокола или функции. Иерархия CLI предполагает, что вход в эти специфические режимы конфигурирования производится только из режима глобальной конфигурации. В качестве примера в этой главе описан один из обычно используемых режимов конфигурирования — режим конфигурирования интерфейса.
Из режимов конфигурирования можно перейти в подрежимы конфигурирования. Подрежимы конфигурирования используются для настройки определенных функций в пределах данного режима конфигурирования. В качестве примера в этой главе описан режим конфигурирования субинтерфейса, который является подчиненным по отношению к режиму конфигурирования интерфейса.
Режим монитора ROM — это отдельный режим, используемый в том случае, когда маршрутизатор не загружается должным образом. Если система (маршрутизатор, коммутатор или сервер доступа) не находит правильный образ системы, загружаемый в процессе запуска, то система переходит в режим монитора ROM. В режим монитора ROM (ROMMON) можно войти также путем прерывания последовательности загрузки в ходе запуска.
В последующих разделах приведены подробные сведения об этих командных режимах:
• Пользовательский режим EXEC
• Привилегированный режим EXEC
• Режим глобальной конфигурации
• Режим конфигурирования интерфейса
• Режим конфигурирования субинтерфейса
• Режим монитора ROM
Таблица 1 в порядке следования этих разделов отражает сводную информацию об основных командных режимах Cisco IOS.
Пользовательский режим EXEC

После регистрации в маршрутизаторе пользователь входит в пользовательский режим команд EXEC (за исключением тех случаев, когда система настроена на немедленный вход в привилегированный режим EXEC). Обычно при регистрации в системе требуется ввести имя пользователя и пароль. Допускается ввести пароль три раза, после чего в попытках подключения будет отказано.

Примечание Для получения информации об установке пароля см. главу "Конфигурирование паролей и привилегий" документа Руководство по конфигурации безопасности Cisco IOS и часть этого руководства "Конфигурирование с помощью процедур настройки и автоматической установки".
Команды EXEC , доступные на пользовательском уровне, являются подмножеством команд, доступных на привилегированном уровне. Обычно пользовательские команды EXEC позволяют подключиться к удаленным устройствам, временно изменить параметры абонентской линии, выполнить основные тесты и получить сведения о системе.
Для вывода списка доступных пользовательских команд EXEC используется следующая команда:
Команда
Назначение
Router> ?
Вывод списка пользовательских команд EXEC.

Приглашение пользовательского режима EXEC состоит из имени устройства как узла сети, за которым следует угловая скобка (>), как показано в следующем примере:
 Router>

Имя узла сети по умолчанию — обычно Router, за исключением тех случаев, когда оно было изменено в ходе начальной настройки с помощью команды EXEC setup. Изменение имени узла сети возможно также с помощью команды глобальной конфигурации hostname.

Примечание В примерах, приводимых в документации Cisco IOS, предполагается использование имени по умолчанию "Router". Другие устройства (например, серверы доступа) могут иметь другие имена по умолчанию. Если маршрутизирующему устройству (маршрутизатор, сервер доступа или коммутатор) с помощью команды hostname присвоено имя, то оно будет представлено в приглашении вместо имени по умолчанию.
Для вывода списка доступных команд пользовательского режима EXEC введите вопросительный знак (?), как показано в приведенном ниже примере:
 Router> ?

 Exec commands:
  <1-99>           Session number to resume
  connect          Open a terminal connection
  disconnect       Disconnect an existing telnet session
  enable           Turn on privileged commands
  exit             Exit from Exec mode
  help             Description of the interactive help system
  lat              Open a lat connection
  lock             Lock the terminal
  login            Log in as a particular user
  logout           Exit from Exec mode and log out
  menu             Start a menu-based user interface
  mbranch          Trace multicast route for branch of tree
  mrbranch         Trace reverse multicast route to branch of tree
  mtrace           Trace multicast route to group
  name-connection  Name an existing telnet connection
  pad              Open a X.29 PAD connection
  ping             Send echo messages
  resume           Resume an active telnet connection
  show             Show running system information
  systat           Display information about terminal lines
  telnet           Open a telnet connection
  terminal         Set terminal line parameters
  tn3270           Open a tn3270 connection
  trace            Trace route to destination
  where            List active telnet connections
  x3               Set X.3 parameters on PAD


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

Примечание Допускается ввод команд в верхнем, нижнем или смешанном регистре. С учетом регистра символов вводятся только пароли . Однако по соглашениям, принятым в документации Cisco IOS, команды всегда представлены в нижнем регистре.
Привилегированный режим EXEC

Ввиду того, что многие команды привилегированного режима EXEC устанавливают рабочие параметры, во избежание несанкционированного использования доступ привилегированного уровня должен быть защищен паролем. Набор привилегированных команд EXEC включает команды пользовательского режима EXEC. Привилегированный режим EXEC обеспечивает доступ к режимам конфигурации с помощью команды configure и включает команды расширенного тестирования, например, debug.
Приглашение привилегированного режима EXEC состоит из имени устройства как узла сети, за которым следует знак фунта (#), как показано в следующем примере:
 Router#

Для входа в привилегированный режим EXEC используется следующая команда:
Команда
Назначение
Router&gt; enable
Включение привилегированного режима EXEC.
•При запросе необходимо ввести пароль.
Следует иметь в виду, что привилегированный режим EXEC иногда называют "режим enable", так как для входа в него используется команда enable.
Если в системе установлен пароль, то перед тем, как будет разрешен доступ в привилегированный режим EXEC, появится запрос на ввод пароля. Пароль не отображается на экране и вводится с учетом регистра символов. Если пароль привилегированного режима не был установлен, то вход в привилегированный режим EXEC возможен только с консоли маршрутизатора (терминала, подключенного к консольному порту). Для установки пароля, ограничивающего доступ в привилегированный режим, системный администратор может воспользоваться командами глобальной конфигурации enable secret или enable password . Для получения информации об установке паролей обратитесь к главе "Конфигурирование паролей и привилегий" версии 12.4 документа Руководство по конфигурации безопасности Cisco IOS
Для возвращения в пользовательский режим EXEC используется следующая команда:
Команда
Назначение
Router# disable
Выход из привилегированного режима EXEC и возвращение в пользовательский режим EXEC.

Приведенный ниже пример демонстрирует процесс доступа к привилегированному режиму EXEC:
 Router> enable
 Password:<letmein>
 Router#

Следует иметь в виду, что при вводе пароль не отображается, но показан в примере для наглядности. Для вывода списка команд, доступных в привилегированном режиме EXEC, введите команду ? после приглашения системы. Из привилегированного режима EXEC можно перейти в режим глобальной конфигурации, описываемый в следующем разделе.

Примечание Так как набор команд привилегированного режима EXEC включает все команды, доступные в пользовательском режиме EXEC, некоторые команды могут быть введены в любом режиме. В документации Cisco IOS те команды, которые можно вводить и в пользовательском, и в привилегированном режиме EXEC, называются "команды режима EXEC". Если в документации отсутствует ссылка на пользовательский или привилегированный режим EXEC, то предполагается, что возможен ввод упоминаемых команд в любом режиме.
Режим глобальной конфигурации

Термин "глобальный" используется для обозначения характеристик или функциональных возможностей, касающихся системы в целом. Режим глобальной конфигурации используется для конфигурирования системы глобально или для перехода в специальные режимы конфигурирования, обеспечивающие настройку специфических элементов, например, интерфейсов или протоколов. Для входа в режим глобальной конфигурации используется команда привилегированного режима EXEC configure terminal .
Для получения доступа к режиму глобальной конфигурации используется следующая команда привилегированного режима EXEC:
Команда
Назначение
Router# configure terminal
Переход из привилегированного режима EXEC в режим глобальной конфигурации.
В приведенном ниже примере показан процесс перехода в режим глобальной конфигурации из привилегированного режима EXEC:
 Router# configure terminal

 Enter configuration commands, one per line. End with CNTL/Z.
 Router(config)#

Следует обратить внимание на то, что системное приглашение изменяется, показывая тем самым, что пользователь находится в режиме глобальной конфигурации. Приглашение режима глобальной конфигурации состоит из имени устройства как узла сети, за которым следует (config) и знак фунта (#). Для вывода списка команд, доступных в привилегированном режиме EXEC, введите команду ? после приглашения системы.
Команды, вводимые в режиме глобальной конфигурации, при вводе изменяют текущую конфигурацию. Иными словами, изменения конфигурации вступают в силу при каждом нажатии клавиши Enter или Return после ввода правильной команды. Тем не менее эти изменения не сохраняются в файле конфигурации запуска, пока не будет введена команда режима EXEC copy running-config startup-config. Такое поведение объясняется более подробно далее в этом документе.
Как показано в примере, системный диалог предлагает закончить сеанс конфигурирования (выйти из режима конфигурирования) путем одновременного нажатия клавиш Ctrl и "z"; при нажатии этих клавиш на экране отображается ^Z. В действительности можно завершить сеанс конфигурирования путем нажатия сочетания клавиш Ctrl-Z, с помощью команды end или используя сочетание клавиш Ctrl-C. Рекомендуется использовать команду end , чтобы указать системе на окончание текущего сеанса конфигурирования.

Примечание Если использовать Ctrl-Z в конце командной строки, в которую введена действительная команда, то эта команда будет добавлена в файл текущей конфигурации. Другими словами, использование Ctrl-Z эквивалентно нажатию клавиши Enter (возврат каретки) перед выходом. По этой причине более безопасно завершать сеанс конфигурирования с помощью команды end. В качестве альтернативы для завершения сеанса конфигурирования возможно использование сочетание клавиш Ctrl-C без ввода возврата каретки.
Кроме того, для возвращения из режима глобальной конфигурации в режим EXEC можно воспользоваться командой exit, но она работает только в режиме глобальной конфигурации. Нажатие Ctrl-Z или ввод команды end всегда вызывают возвращение в режим EXEC независимо от текущего режима или подрежима конфигурирования.
Для выхода из командного режима глобальной конфигурации и возвращения в привилегированный режим EXEC используется следующая команда:
Команда
Назначение
Router(config)# end
или
Router(config)# ^Z
Завершение текущего сеанса конфигурирования и возвращение в привилегированный режим EXEC.
Router(config)# exit
Выход из текущего командного режима и возвращение в предыдущий режим. Например, выход из режима глобальной конфигурации в привилегированный режим EXEC.

Из режима глобальной конфигурации возможен переход во множество режимов конфигурирования, специфических для конкретного протокола, конкретной платформы или функциональной возможности. Сведения о специфических режимах представлены в контексте соответствующих конкретных задач в комплекте документации на программное обеспечение Cisco IOS.
Режим конфигурирования интерфейса, описываемый в следующем разделе, представляет пример режима конфигурирования, в который можно перейти из режима глобальной конфигурации.
Режим конфигурирования интерфейса

Одним из примеров специфического режима конфигурирования, переход в который производится из режима глобальной конфигурации, является режим конфигурирования интерфейса.
Он позволяет включить множество функциональных возможностей, зависящих от конкретного интерфейса. Команды конфигурирования интерфейса изменяют функционирование интерфейса (например, Ethernet, FDDI или последовательного порта). Командам конфигурирования интерфейса всегда предшествует команда режима глобальной конфигурации interface, определяющая тип интерфейса.
Более подробные сведения о командах конфигурирования интерфейса, влияющих на его общие параметры, например, ширину полосы пропускания или тактовую частоту, приведены в версии 12.4 Руководства по конфигурированию интерфейса и компонентов оборудования Cisco IOS. Информацию о командах, зависящих от протокола, можно получить в соответствующем справочнике по командам программного обеспечения Cisco IOS.
Для получения доступа к командам конфигурирования интерфейса и вывода их списка используется следующая команда:
Команда
Назначение
Router(config)# interface номер
Указание конфигурируемого интерфейса и вход в режим конфигурирования интерфейса.
В следующем примере пользователь входит в режим конфигурирования последовательного интерфейса 0. Новое приглашение hostname(config-if)#, указывает на режим конфигурирования интерфейса.
 Router(config)# interface serial 0
 Router(config-if)#

Для выхода из режима конфигурирования интерфейса и возвращения в режим глобальной конфигурации необходимо ввести команду exit.
Подрежимы конфигурирования являются режимами конфигурирования, переход в которые осуществляется из других режимов конфигурирования (кроме режима глобальной конфигурации). Подрежимы конфигурирования предназначены для конфигурирования специфических элементов в рамках режима конфигурирования. Один из примеров подрежима конфигурирования является режим конфигурирования субинтерфейса, описываемый в следующем разделе.
Режим конфигурирования субинтерфейса

Из режима конфигурирования интерфейса можно перейти в режим конфигурирования субинтерфейса. Режим конфигурирования субинтерфейса является подчиненным по отношению к режиму конфигурирования интерфейса. В режиме конфигурирования субинтерфейса можно задавать параметры множества виртуальных интерфейсов (они называются субинтерфейсами) на единственном физическом интерфейсе. Различным протоколам субинтерфейсы представляются как отдельные физические интерфейсы. Например, сети Frame Relay предоставляют множество соединений "точка-точка", которые называются "постоянное виртуальное соединение" (PVC). PVC могут быть сгруппированы в рамках отдельных субинтерфейсов, которые, в свою очередь, конфигурируются на единственном физическом интерфейсе. С точки зрения соединений с поддержкой протокола spanning-tree, каждый субинтерфейс представляет собой отдельный порт моста, и кадр, поступающий на один субинтерфейс, может быть на выходе направлен на другой субинтерфейс.
Субинтерфейсы также поддерживают множественную инкапсуляцию протоколов в один физический интерфейс. Например, маршрутизатор или сервер доступа может принять IPX-пакет (пакет межсетевого пакетного обмена) со структурой ARPA (Агентство по перспективным исследовательским проектам) и выпустить его по этому же физическому интерфейсу как IPX-пакет со структурой SNAP (протокол доступа к подсетям).
Более подробные сведения о конфигурировании субинтерфейсов можно найти в комплекте документации на программное обеспечение Cisco IOS,. в соответствующем модуле документации с описанием конкретного протокола.
Для получения доступа к режиму конфигурирования субинтерфейса используется следующая команда режима конфигурирования интерфейса:
Команда
Назначение
Router(config-if)# interface тип номер
Указание конфигурируемого виртуального интерфейса и вход в режим конфигурирования субинтерфейса.
В следующем примере задаются параметры субинтерфейса для последовательной линии 2, которая сконфигурирована для инкапсуляции Frame Relay. Субинтерфейс получает обозначение "2.1", указывающее на то, что это субинтерфейс 1 последовательной линии 2. Новое приглашение hostname(config-subif)#, указывает на режим конфигурирования субинтерфейса. Субинтерфейс можно сконфигурировать для поддержки одного или нескольких постоянных виртуальных соединений (PVC) сети Frame Relay.
 Router(config)# interface serial 2
 Router(config-if)# encapsulation frame-relay
 Router(config-if)# interface serial 2.1
 Router(config-subif)#

Для выхода из режима конфигурирования субинтерфейса и возвращения в режим конфигурирования интерфейса используется команда exit. Чтобы завершить сеанс конфигурирования и вернуться к привилегированному режиму EXEC, нажмите Ctrl-Z или введите команду end.
Режим монитора ROM

Режим монитора ROM (ROMMON) запускается из специализированного образа программного обеспечения и предназначен для того, чтобы вручную найти правильный образ системного программного обеспечения для загрузки системы (режим монитора ROM иногда называется также "режим загрузки").
Если система (маршрутизатор, коммутатор или сервер доступа) не находит правильный образ системы для загрузки, то система переходит в режим монитора ROM. В режим монитора ROM можно войти также путем прерывания последовательности загрузки в ходе запуска. Из режима монитора ROM можно произвести загрузку устройства или выполнить диагностические тесты.
На большинстве систем можно войти в режим монитора ROM, если ввести команду EXEC reload и затем в течение первых 60 секунд процедуры запуска выдать команду Break. Команда Break выдается путем нажатия клавиши Break на клавиатуре или с помощью сочетания клавиш Break (сочетание клавиш Break по умолчанию — Ctrl-C).

Примечание Для выполнения этой процедуры необходимо консольное соединение с маршрутизатором, так как соединения Telnet будут разорваны при перезагрузке системы.
Для перехода в режим монитора ROM из режима EXEC выполните следующие действия:
Шаг 1 В режиме EXEC введите команду reload. После ввода этой команды и ответа (по необходимости) на системные приглашения система начнет перезагрузку образа системного программного обеспечения.
Шаг 2 В течение первых 60 секунд процедуры запуска выдайте команду Break. Команда Break выдается с помощью клавиши Break или сочетания клавиш Break. (Сочетание клавиш Break по умолчанию — Ctrl-C, но возможно задание другой комбинации). При выдаче команды Break последовательность загрузки прерывается и происходит переход в режим монитора ROM.
Другой способ перехода в режим монитора ROM — установка значения регистра конфигурации, обеспечивающего автоматический переход маршрутизатора в режим монитора ROM в процессе загрузки. Информация об установке значения регистра конфигурации приведена в главе этого руководства "Перезагрузка".
В режиме монитора ROM в качестве приглашения командной строки используется угловая скобка (&gt;). На некоторых устройствах Cisco приглашение монитора ROM выглядит как rommon &gt;. Список команд монитора ROM отображается при вводе команды ? или команды help. В следующем примере показано, как может выглядеть этот список команд:
 User break detected at location 0x8162ac6\Œ
 rommon 1 > ?

 alias               set and display aliases command
 boot                boot up an external process
 break               set/show/clear the breakpoint
 confreg             configuration register utility
 cont                continue executing a downloaded image
 context             display the context of a loaded image
 cpu_card_type       display CPU card type
 dev                 list the device table
 dir                 list files in file system
 dis                 disassemble instruction stream
 frame               print out a selected stack frame
 help                monitor builtin command help
 history             monitor command history
 meminfo             main memory information
 repeat              repeat a monitor command
 reset               system reset
 set                 show all monitor variables
 stack               produce a stack trace
 sync                write monitor environment to NVRAM
 sysret              print out info from last system return
 unalias             unset an alias
 unset               unset a monitor variable
 rommon 2>

Список доступных команд может варьироваться в зависимости от используемого образа программного обеспечения и платформы. В некоторых версиях ROMMON список команд выводится в приведенном ниже формате с альтернативными именами:
 > ?

 $ state      Toggle cache state (? for help)
 B [filename] [TFTP Server IP address | TFTP Server Name]
              Load and execute system image from ROM or from TFTP server
 C [address]  Continue execution [optional address]
 D /S M L V   Deposit value V of size S into location L with modifier M
 E /S M L     Examine location L with size S with modifier M
 G [address]  Begin execution
 H            Help for commands
 I            Initialize
 K            Stack trace
 L [filename] [TFTP Server IP address | TFTP Server Name]
              Load system image from ROM or from TFTP server, but do not
              begin execution
 O            Show configuration register option settings
 P            Set the break point
 S            Single step next instruction
 T function   Test device (? for help)
 Deposit and Examine sizes may be B (byte), L (long) or S (short).
 Modifiers may be R (register) or S (byte swap).
 Register names are: D0-D7, A0-A6, SS, US, SR, and PC
Для выхода из режима монитора ROM служит команда continue, которая вызывает рестарт процесса загрузки.
Дальнейшая информация о характеристиках и использовании режима монитора ROM приведена в главе этого руководства "Перезагрузка".
Сводка основных командных режимов Cisco IOS

Таблица 1 отражает сводную информацию об основных командных режимах, используемых в интерфейсе командной строки Cisco IOS.
Таблица 1. Сводка основных командных режимов Cisco IOS
Командный режим
Способ доступа
?
Приглашение
Способ выхода
Пользовательский режим EXEC
Вход в систему
Router&gt;
Команда logout.
Привилегированный режим EXEC
В пользовательском режиме EXEC используется команда EXEC enable.
Router#
Для выхода в пользовательский режим EXEC используется команда disable.
Для входа в режим глобальной конфигурации используется команда привилегированного режима EXEC configure terminal .
Глобальная конфигурация
В привилегированном режиме EXEC используется команда configure terminal.
Router(config)#
Для выхода в привилегированный режим EXEC введите команду end или нажмите Ctrl-Z.
Для перехода в режим конфигурирования интерфейса введите команду конфигурации interface.
Настройка интерфейса
В режиме глобальной конфигурации укажите интерфейс в команде interface.
Router(config-if)#
Для выхода в режим глобальной конфигурации введите команду exit.
Для выхода в привилегированный режим EXEC введите команду end или нажмите Ctrl-Z.
Для входа в режим конфигурирования субинтерфейса укажите субинтерфейс в команде interface.
Конфигурация субинтерфейса
В режиме конфигурирования интерфейса укажите интерфейс в команде interface. (Доступность этого режима зависит от платформы.)
Router(config-subif)#
Для выхода в режим глобальной конфигурации введите команду exit.
Для выхода в привилегированный режим EXEC введите команду end или нажмите Ctrl-Z.
Монитор ROM
В привилегированном режиме EXEC введите команду EXEC reload. Нажмите клавишу Break в течение первых
60 секунд процедуры загрузки системы.
>

или
boot>

или
rommon &gt;
Если вход в режим монитора ROM произведен путем прерывания процесса загрузки, можно выйти из режима монитора ROM и возобновить загрузку с помощью команд continue.

Список задач CLI Cisco IOS
Чтобы ближе познакомиться с функциональными возможностями интерфейса командной строки Cisco IOS, выполните любую из задач, описанных в следующих разделах:
• Получение контекстно-зависимой справки
• Использование форм команд no и default
• Использование истории команд
• Использование функций редактирования CLI и сочетаний клавиш
• Поиск и фильтрация вывода CLI
Получение контекстно-зависимой справки
Ввод вопросительного знака (?) после приглашения системы позволяет вывести список команд, доступных в каждом командном режиме. С помощью функции контекстно-зависимой справки можно также получить список аргументов и ключевых слов для любой команды.
Для получения справки, специфической для командного режима, имени команды, ключевого слова или аргумента, используется любая из следующих команд:
Команда
Назначение
(приглашение)# help
Отображение краткого описания системы справки.
(приглашение)# сокращенный ввод команды ?
Вывод списка команд текущего режима, начинающихся с определенной символьной строки.
(приглашение)# сокращенный ввод команды&lt;Tab&gt;
Дополнение частичного имени команды.
(приглашение)# ?
Вывод списка всех команд, доступных в командном режиме.
(приглашение)# команда ?
Вывод списка доступных синтаксических опций (аргументов и ключевых слов) для команды.
(приглашение)# команда ключевое слово ?
Вывод списка следующих доступных синтаксических опций для команды

Следует иметь в виду, что системное приглашение будет изменяться в зависимости от текущего режима конфигурирования.
При использовании контекстно-зависимой справки наличие или отсутствие пробела перед вопросительным знаком (?) является важным. Для получения списка команд, начинающихся с определенной последовательности символов, введите эти символы и сразу после них введите вопросительный знак (?). Не вводите пробел. Эта форма справки называется справка по слову, потому что она дополняет слово за пользователя. Дальнейшая информация приведена в разделе "Дополнение частично введенного имени команды" далее в этой главе.
Для вывода списка ключевых слов или аргументов, введите вопросительный знак (?) вместо ключевого слова или аргумента. Включите пробел перед ?. Эта форма справки называется справка по синтаксису команды, потому что она показывает возможные ключевые слова или аргументы на основании уже введенных команд, ключевых слов и аргументов.
Можно сокращать команды и ключевые слова до количества символов, обеспечивающего уникальность сокращения. Например, можно сократить команду configure terminal до config t. Благодаря уникальности сокращенной формы команды, маршрутизатор примет сокращенную форму и выполнит команду.
При вводе команды help, доступной в любом командном режиме, будет выведено следующее описание системы справки:
 Router# help

 Help may be requested at any point in a command by entering
 a question mark '?'. If nothing matches, the help list will
 be empty and you must back up until entering a '?' shows the
 available options.
 Two styles of help are provided:
 1. Full help is available when you are ready to enter a
    command argument (e.g. 'show ?') and describes each possible
    argument.
 2. Partial help is provided when an abbreviated argument is entered
    and you want to know what arguments match the input
    (e.g. 'show pr?'.)

Как указано в выводе команды help, вопросительный знак (?) может использоваться для дополнения частично введенного имени команды (частичная справка), а также для получения списка аргументов или ключевых слов, дополняющих текущую команду.
Следующий пример иллюстрирует, как функция контекстно-зависимой справки позволяет создать список доступа режима конфигурирования.
На системное приглашение введите буквы co, а за ними введите вопросительный знак (?). Не оставляйте пробел между последней буквой и вопросительным знаком. Система выведет команды, начинающиеся с co.
 Router# co?
 configure  connect  copy

Введите команду configure, за ней введите пробел и вопросительный знак, и будут выведен список ключевых слов команды и краткое описание:
 Router# configure ?
   memory    Configure from NV memory
   network   Configure from a TFTP network host
   overwrite-network  Overwrite NV memory from TFTP network host
   terminal  Configure from the terminal
   <cr>

В списке присутствует символ Router# ("cr" обозначает возврат каретки), указывающий на то, что одним из вариантов может быть нажатие клавиши Return или Enter для выполнения команды без каких-либо ключевых слов. В этом примере вывод показывает, что опциями для команды конфигурирования являются следующие: configure memory (конфигурирование из NVRAM), configure network (конфигурирование из файла в сети), configure overwrite-network (конфигурирование из файла в сети и замещение файла в NVRAM) и configure terminal (конфигурирование вручную с терминального соединения). Для большинства команд используется символ &lt;cr&gt;, указывающий на то, что возможно выполнение команды с уже введенным синтаксисом. Однако команда конфигурирования представляет собой особый случай, так как CLI будет запрашивать недостающий синтаксис:
 Router# configure
 Configuring from terminal, memory, or network [terminal]? terminal
 Enter configuration commands, one per line.  End with CNTL/Z.
 Router(config)#

Ответ по умолчанию для приглашения ? обозначен в выводе CLI как параметр в квадратных скобках в конце строки. В предыдущем примере нажатие клавиши Enter (или Return) эквивалентно вводу слова "terminal.".
Для входа в режим глобальной конфигурации введите команду configure terminal:
 Router# configure terminal
 Enter configuration commands, one per line. End with CNTL/Z.
 Router(config)#

Интерфейс командной строки обеспечивает локализацию ошибки с помощью указателя ошибки — символа вставки (^). Символ ^ появляется в том месте командной строки, где пользователь использовал неправильный или нераспознанный синтаксис команды. Например, символ вставки в показанном ниже выводе указывает на букву, введенную в команде неправильно:
 Router# configure terminal
                      ^
 % Invalid input detected at '^' marker.

 Router#

Чтобы привлечь внимание пользователя к маркеру ошибки, на экране появляется сообщение об ошибке, обозначенное символом %.
Введите команду access-list, за ней введите пробел и вопросительный знак, чтобы вывести допустимые параметры команды:

 Router(config)#access-list ?
  <1-99>            IP standard access list
  <100-199>         IP extended access list
  <1100-1199>       Extended 48-bit MAC address access list
  <1300-1999>       IP standard access list (expanded range)
  <200-299>         Protocol type-code access list
  <2000-2699>       IP extended access list (expanded range)
  <700-799>         48-bit MAC address access list
  dynamic-extended  Extend the dynamic ACL absolute timer
  rate-limit        Simple rate-limit specific access list

Два числа в угловых скобках представляют включающий диапазон. Введите номер списка доступа 99 и затем еще один вопросительный знак, чтобы увидеть применимые к ключевым словам аргументы, а также краткие объяснения:
 Router(config)# access-list 99 ?
   deny    Specify packets to reject
   permit  Specify packets to forward

Введите аргумент deny и за ним вопросительный знак (?), чтобы вывести список дополнительных параметров:
 Router(config)# access-list 99 deny ?
   A.B.C.D  Address to match

Обычно заглавные буквы обозначают переменные (аргументы). Введите IP-адрес и за ним вопросительный знак (?), чтобы вывести список дополнительных параметров:
 Router(config)# access-list 99 deny 172.31.134.0 ?
   A.B.C.D  Mask of bits to ignore
   <cr>

В этом выводе фрагмент A.B.C.D указывает на допустимость использования инверсной маски. Инверсная маска представляет собой метод сопоставления IP-адресов или диапазонов IP-адресов. Например, инверсная маска 0.0.0.255 соответствует любому числу в диапазоне от 0 до 255 в четвертом байте IP-адреса.
Введите инверсную маску, за ней введите вопросительный знак (?), чтобы вывести список дальнейших параметров:
 Router(config)# access-list 99 deny 172.31.134.0 0.0.0.255 ?
 <cr>

Справку можно запросить в любом месте командной строки путем ввода символа , который сам по себе указывает на отсутствие ключевых слов или аргументов. Для выполнения команды нажмите Enter (или Return):
 Router(config)# access-list 99 deny 172.31.134.0 0.0.0.255

Система добавляет в список доступа 99 запись, которая отклоняет доступ ко всем узлам подсети 172.31.134.0, одновременно игнорируя биты IP-адресов, последний байт которых находится в диапазоне от 0 до 255.
Отображение всех команд пользовательского режима EXEC

Для настройки текущего сеанса на отображение полного набора команд пользовательских команд EXEC используется следующая команда, вводимая в пользовательском или привилегированном режиме EXEC:
Команда
Назначение
Router# terminal full-help
Настройка сеанса на предоставление справки для полного набора команд уровня пользователя.

Системный администратор имеет возможность настроить систему так, чтобы с помощью команды конфигурирования full-help всегда отображалась полная справка для соединений по определенной линии.
Команды full-help и terminal full-help разрешают отображение всех сообщений справки в пользовательском режиме EXEC при выполнении команды show ? .
В следующем примере показан вывод для команды show ? , когда команда full-help запрещена и затем разрешена:
 Router> terminal no full-help
 Router> show ?

   bootflash  Boot Flash information
   calendar   Display the hardware calendar
   clock      Display the system clock
   context    Show context information
   dialer     Dialer parameters and statistics
   history    Display the session command history
   hosts      IP domain-name, lookup style, nameservers, and host table
   isdn       ISDN information
   kerberos   Show Kerberos Values
   modemcap   Show Modem Capabilities database
   ppp        PPP parameters and statistics
   rmon       rmon statistics
   sessions   Information about Telnet connections
   snmp       snmp statistics
   terminal   Display terminal configuration parameters
   users      Display information about terminal lines
   version    System hardware and software status

 Router> terminal full-help
 Router> show ?

   access-expression  List access expression
   access-lists       List access lists
   aliases            Display alias commands
   apollo             Apollo network information
   appletalk          AppleTalk information
   arp                ARP table
   async              Information on terminal lines used as router interfaces
   bootflash          Boot Flash information
   bridge             Bridge Forwarding/Filtering Database [verbose]
   bsc                BSC interface information
   bstun              BSTUN interface information
   buffers            Buffer pool statistics
   calendar           Display the hardware calendar
   cdp                CDP information
   clns               CLNS network information
   clock              Display the system clock
   cls                DLC user information
   cmns               Connection-Mode networking services (CMNS) information
   .
   .
   .
   x25                X.25 information


Использование форм команд no и default
Почти все команды конфигурирования допускают использование формы no. Форма no служит для запрещения функциональной возможности или функции. Чтобы повторно разрешить запрещенную функциональную возможность или разрешить функциональную возможность, запрещенную по умолчанию, используется команда без ключевого слова no . Например, IP-маршрутизация разрешена по умолчанию. Для запрещения IP-маршрутизации используется форма no ip routing команды ip routing. Для повторного ее разрешения используется простая форма ip routing. В публикациях
справочника по командам программного обеспечения Cisco IOS описана функция формы команд no вне зависимости от доступности формы no.
Многие команды CLI имеют также форму default. Путем ввода команды default имя_команды можно настроить команду на ее установки по умолчанию. Справочник по командам программного обеспечения Cisco IOS обычно описывает функцию формы default команды в тех случаях, когда форма default выполняет другую функцию, отличную от простой формы команды и формы no. Чтобы увидеть, какие команды по умолчанию доступны в системе, введите default ? в соответствующем командном режиме.
Использование истории команд
Интерфейс командной строки Cisco IOS предоставляет историю записи введенных команд. Эта функциональная возможность особенно полезна для повторного вызова длинных или сложных команд или фрагментов ввода, включая списки доступа. Чтобы использовать функцию истории команд, выполните любую из задач, описанных в следующих разделах:
• Настройка размера буфера истории команд
• Повторный вызов команд
• Выключение функции истории команд
Настройка размера буфера истории команд

По умолчанию система записывает в свой буфер истории десять команд. Для установки количества команд, записываемых системой в ходе текущего терминального сеанса, используется следующая команда привилегированного режима EXEC:
Команда
Назначение
Router# terminal history [size количество_строк]
Включение функции истории команд для текущего терминального сеанса.

Команда no terminal history size устанавливает количество сохраняемых строк по умолчанию — десять строк.
Для настройки количества командных строк, записываемых системой во всех сеансах по определенной линии, используется следующая команда привилегированного режима EXEC:
Команда
Назначение
Router(config-line)# history [size количество_строк]
Выключение функции истории команд

Повторный вызов команд

Для повторного вызова команд из буфера истории используется одна из следующих команд или сочетаний клавиш:
Команда или сочетание клавиш
Назначение
Ctrl-P или клавиша Стрелка вверх.1
Повторный вызов команд из буфера истории, начиная с последних команд. Для последовательного повторного вызова более старых команд повторяйте нажатия на клавиши.
Ctrl-N или клавиша Стрелка вниз.1
Возврат к более новым командам в буфере истории после повторного вызова команд с помощью клавиш Ctrl-P или Стрелка вверх. Для последовательного повторного вызова более старых команд повторяйте нажатия на клавиши.
Router&gt; show history
В пользовательском режиме EXEC — вывод списка нескольких последних введенных команд.
1 Клавиши со стрелками работают только на ANSI-совместимых терминалах (ANSI — Американский национальный институт стандартов).

Выключение функции истории команд

Функция истории команд автоматически включена. Для ее выключения в текущем терминальном сеансе используется следующая команда пользовательского режима EXEC:
Команда
Назначение
Router&gt; no terminal history
Выключение истории команд для текущего сеанса.

Чтобы сконфигурировать определенную линию для выключения функции истории команд, используется следующая команда привилегированного режима EXEC:
Команда
Назначение
Router(config-line)# no history
Выключение истории команд для линии.

Использование функций редактирования CLI и сочетаний клавиш
CLI Cisco IOS поддерживает множество сочетаний клавиш и функций редактирования. Эти функциональные возможности описаны в следующих подразделах:
• Перемещение курсора по командной строке
• Дополнение частичного имени команды.
• Повторный вызов удаленных фрагментов
• Редактирование командных строк с переносом на другую строку
• Удаление фрагментов
• Продолжение вывода после приглашения --More--
• Повторное отображение текущей командной строки
• Перестановка неправильно введенных символов
• Управление регистром
• Назначение нажатия клавиши командой
• Выключение и повторное включение функциональных возможностей редактирования
Перемещение курсора по командной строке

В таблице 2 показаны сочетания или последовательности клавиш, используемые для перемещения курсора по командной строке при внесении поправок или изменений. Ctrl обозначает клавишу Control, которую необходимо нажимать одновременно со связанной буквенной клавишей. Esc обозначает клавишу Escape; необходимо сначала нажать ее, а затем — связанную буквенную клавишу. Клавиши могут быть в любом регистре. Многие буквы, используемые для навигации и редактирования в CLI, выбраны так, чтобы обеспечить лучшее запоминание их функций. В таблице 2 символы в столбце "Сводка функций", выделенные полужирным шрифтом, указывают на связь между использованной буквой и функцией.
Таблица 2. Сочетания клавиш для перемещения курсора
Нажатия клавиш
Сводка функций
Подробное описание функций
Стрелка влево или Ctrl-B
На один символ назад
Перемещение курсора на один символ назад.
При вводе команды, занимающей более одной строки, чтобы выполнить прокрутку назад к системному приглашению и проверить начало вводимой команды, можно повторно нажимать клавишу "Стрелка влево" или Ctrl-B или нажать сочетание клавиш Ctrl-A.
Стрелка вправо или Ctrl-F
На один символ вперед
Перемещение курсора на один символ вперед.
Esc, B
На одно слово назад
Перемещение курсора на одно слово назад.
Esc, F
На одно слово вперед
Перемещение курсора на одно слово вперед.
Ctrl-A
В начало строки
Перемещение курсора в начало строки.
Ctrl-E
В конец строки
Перемещение курсора в конец командной строки.

Дополнение частичного имени команды.

Если не удается запомнить полное имя команды или хотелось бы сократить количество вводимых символов, можно вводить первые несколько букв команды и затем нажать клавишу Tab. Синтаксический анализатор командной строки дополнит команду, если введенная строка уникальна для данного командного режима. Если на клавиатуре отсутствует клавиша Tab, вместо нее можно нажать Ctrl-I.
Интерфейс командной строки распознает команду в том случае, если введено достаточно символов, чтобы сделать команду уникальной. Например, при вводе conf в привилегированном режиме EXEC интерфейс командной строки сможет ассоциировать введенные символы с командой configure, так как только команда configure начинается с conf.
В следующем примере CLI распознаёт уникальную для привилегированного режима EXEC строку conf при нажатии клавиши Tab:
 Router# conf<Tab>
 Router# configure

При использовании функции дополнения команды интерфейс командной строки отображает полное имя команды. Команда не выполняется, пока не будет нажата клавиша Enter или Return. Благодаря этому есть возможность изменить команду, если полная команда — это не то, что требовалось ввести с помощью сокращения. Если введена совокупность символов, которые могут обозначать более одной команды, система выдает звуковой сигнал, указывающий на то, что строка не уникальна.
Если CLI не может дополнить команду, введите вопросительный знак (?), чтобы получить список команд, начинающихся с этой совокупности символов. Не оставляйте пробел между последней введенной буквой и вопросительным знаком (?).
Например, при вводе co? будет выведен список всех команд, доступных в текущем командном режиме:
 Router# co?
 configure connect copy
 Router# co

Обратите внимание на то, что символы, введенные до вопросительного знака, отображаются на экране, чтобы дать возможность закончить ввод команды.
Удаление фрагментов

Если при вводе команды сделана ошибка или отпала необходимость в команде, для удаления фрагментов команд используются следующие клавиши или сочетания клавиш:
Нажатия клавиш
Назначение
Delete или Backspace
Удаление символа слева от курсора.
Ctrl-D
Удаление символа в текущей позиции курсора.
Ctrl-K
Удаление всех символов от позиции курсора до конца командной строки.
Ctrl-U или Ctrl-X
Удаление всех символов от позиции курсора до начала командной строки.
Ctrl-W
Удаление символа слева от курсора.
Esc, D
Удаление символов от курсора до конца слова.

Повторный вызов удаленных фрагментов

CLI хранит удаленные команды или ключевые слова в буфере истории. В буфере хранятся только символьные строки, начинающиеся или заканчивающиеся пробелом; отдельные символы, удаленные с помощью Backspace или Ctrl-D, не хранятся. В буфере хранятся десять последних элементов, удаленных с помощью Ctrl-K, Ctrl-U или Ctrl-X. Для повторного вызова этих элементов и помещения их в командную строку используются следующие сочетания клавиш:
Нажатия клавиш
Назначение
Ctrl-Y
Повторный вызов последней записи в буфере (клавиши нажимаются одновременно).
Esc, Y
Повторный вызов предыдущей записи в буфере истории (клавиши нажимаются одновременно).
Последовательность клавиш Esc, Y не будет работать, если не нажать сначала сочетание клавиш Ctrl-Y. Если нажать Esc, Y более десяти раз, произойдет циклический возврат к последней записи в буфере.
Редактирование командных строк с переносом на другую строку

CLI обеспечивает функцию переноса на другую строку для команд, длина которых превышает размер одной строки. Когда курсор достигает правой границы, командная строка сдвигается на десять пробелов влево. Первые десять символов строки не видны, но есть возможность выполнить прокрутку обратно и проверить синтаксис в начале команды. Чтобы выполнить прокрутку обратно, повторно нажимайте клавиши Ctrl-B или "Стрелка влево", пока курсор не вернется в начало командной строки, или нажмите Ctrl-A для возврата непосредственно в начало строки.
В следующем примере запись команды access-list превышает размер одной строки. Когда курсор достигает конца строки, строка сдвигается на десять символов влево и повторно отображается. Знак доллара ($) указывает на то, что строка была перемещена влево. Каждый раз, когда курсор достигает конца строки, строка опять сдвигается на десять символов влево.
 Router(config)# access-list 101 permit tcp 172.31.134.5 255.255.255.0 172.31.1
 Router(config)# $ 101 permit tcp 172.31.134.5 255.255.255.0 172.31.135.0 255.25
 Router(config)# $t tcp 172.31.134.5 255.255.255.0 172.31.135.0 255.255.255.0 eq
 Router(config)# $31.134.5 255.255.255.0 172.31.135.0 255.255.255.0 eq 45

Когда ввод закончен, прежде чем нажать клавишу Return для выполнения команды, нажмите Ctrl-A для проверки синтаксиса всей команды. В конце строки появляется знак доллара ($), указывающий на то, что строка была перемещена вправо.
 Router(config)# access-list 101 permit tcp 172.31.134.5 255.255.255.0 172.31.1$

Программное обеспечение Cisco IOS предполагает, что ширина экрана терминала составляет 80 столбцов. Если экран имеет другую ширину, необходимо воспользоваться командой пользовательского режима EXEC terminal width, чтобы задать ширину экрана терминала.
Перенос строки используется совместно с функцией истории команд для повторного вызова и изменения записей ранее введенных сложных команд. Для получения сведений о повторном вызове команд см. раздел этой главы "Повторный вызов команд".
Продолжение вывода после приглашения --More--

При использовании интерфейса командной строки Cisco IOS вывод часто выходит за пределы видимой высоты экрана. В случаях, когда вывод продолжается за пределами нижней границы экрана, как это происходит, например, с выводом множества команд ?, show или more, вывод приостанавливается, и в нижней части экрана появляется приглашение --More--. Чтобы возобновить вывод, можно нажать клавишу Return для прокрутки вниз на одну строку или нажать клавишу пробела для отображения всего следующего экрана вывода.

Совет Если вывод на экране приостановлен, но приглашение --More-- отсутствует, попытайтесь ввести меньшее значение высоты экрана с помощью команды конфигурации строки length или команды привилегированного режима EXEC terminal length. Вывод команд не будет приостанавливаться, если значение параметра length установить равным нулю.
Для получения сведений о фильтрации вывода из приглашения --More-- обратитесь к разделу этой главы "Поиск и фильтрация вывода CLI".
Повторное отображение текущей командной строки

Если при вводе команды система неожиданно отправляет сообщение на экран, можно повторно вызвать запись текущей командной строки. Для повторного отображения текущей командной строки (обновления экрана) используется любое из следующих сочетаний клавиш:
Нажатия клавиш
Назначение
Ctrl-L или Ctrl-R
Повторное отображение текущей командной строки

Перестановка неправильно введенных символов

Если при вводе команды допущена ошибка, можно взаимно переставить неправильно введенные символы. Для перестановки символов служит следующее сочетание клавиш:
Нажатия клавиш
Назначение
Ctrl-T
Взаимная перестановка символа слева от курсора и символа справа от курсора.

Управление регистром

Имеется возможность с помощью простых клавиатурных последовательностей изменить регистр слов или преобразовать совокупность букв из строчных в прописные. Однако следует заметить, что команды Cisco IOS обычно вводятся без учета регистра и представляются в нижнем регистре. Для изменения регистра команд используются следующие последовательности клавиш:
Нажатия клавиш
Назначение
Esc, C
Преобразование буквы в позиции курсора в прописную.
Esc, L
Преобразование в строчные букв слова в позиции курсора.
Esc, U
Преобразование в прописные букв от позиции курсора до конца слова.

Назначение нажатия клавиши командой

Существует возможность настроить систему на распознавание определенного нажатия клавиш (сочетания клавиш или последовательности клавиш) как альтернативного имени команды. Другими словами, можно определить нажатие клавиш как клавишную комбинацию быстрого вызова для выполнения команды. Чтобы разрешить системе интерпретировать нажатие клавиш как команду, перед вводом командной последовательности используется любое из следующих сочетаний клавиш:
Нажатия клавиш
Назначение
Ctrl-V или Esc, Q
Настройка системы на принятие последующего нажатия клавиш как сконфигурированной пользователем записи команды (а не команды редактирования).

Выключение и повторное включение функциональных возможностей редактирования

Функциональные возможности редактирования, описанные в предыдущих разделах, были представлены в версии 9.21 Cisco IOS и по умолчанию включены в системе. Однако могут возникнуть некоторые уникальные ситуации, требующие запрещения этих функций редактирования. Например, некоторые сценарии могут конфликтовать с функциональностью редактирования. Чтобы глобально выключить функциональные возможности редактирования, используется следующая команда режима конфигурирования линии:
Команда
Назначение
Router(config-line)# no editing
Выключение функциональных возможностей редактирования CLI для определенной линии.

Чтобы выключить функциональные возможности редактирования для текущего терминального сеанса, используется следующая команда пользовательского режима EXEC:
Команда
Назначение
Router# no terminal editing
Выключение функциональных возможностей редактирования CLI для локальной линии.

Чтобы повторно включить функциональные возможности редактирования для текущего терминального сеанса, используется следующая команда пользовательского режима EXEC:
Команда
Назначение
Router# terminal editing
Включение функциональных возможностей редактирования CLI для текущего терминального сеанса.

Чтобы повторно включить функциональные возможности редактирования для определенной линии, используется следующая команда пользовательского режима EXEC:
Команда
Назначение
Router(config-line)# editing
Включение функциональных возможностей редактирования CLI.

Поиск и фильтрация вывода CLI
Интерфейс командной строки Cisco IOS обеспечивает возможность поиска в большом массиве команд и фильтрации вывода для исключения ненужной информации. Эти функциональные возможности включены для команд show и more, которые обычно выводят большой объем данных.

Примечание Show и more всегда вводятся в пользовательском или привилегированном режиме EXEC.
Если объем вывода превышает пределы экрана, интерфейс командной строки Cisco IOS выводит приглашение --More--. При нажатии клавиши Return выводится следующая строка; при нажатии клавиши пробела отображается следующий экран вывода. Функция поиска строки CLI позволяет выполнять поиск или фильтровать вывод после приглашений --More--.
Основные сведения о регулярных выражениях

Регулярное выражение является образцом (фраза, число или более сложный образец), который функция поиска строки CLI сопоставляет с выводом команд show или more. Регулярные выражения учитывают регистр и обеспечивают сложное сопоставление. Примеры простых регулярных выражений: Serial, misses или 138. Примеры сложных регулярных выражений: 00210... , ( is ) или [Oo]utput.
Регулярное выражение может быть односимвольным или многосимвольным образцом. То есть регулярное выражение может быть одним символом, который соответствует такому же одному символу, или несколькими символами, которые соответствуют таким же нескольким символам в выводе команды. Образец в выводе команды называется строкой. В этом разделе описано создание и односимвольных, и многосимвольных образцов. Здесь также обсуждается создание более сложных регулярных выражений, использующих множители, дизъюнкцию, связывание и скобки.
Односимвольные образцы

Простейшим регулярным выражением является единственный символ, соответствующий такому же одному символу в выводе команды. В качестве односимвольного образца допустимо использование букв (A-Z, a-z) или цифр (0-9). В качестве односимвольного образца допускается использовать также другие клавиатурные символы (например, ! или ~), но определенные клавиатурные символы при использовании в регулярных выражениях имеют специальное значение. Таблица 3 содержит список клавиатурных символов, имеющих специальное значение.
Таблица 3. Символы со специальным значением
Символ
Специальное значение
.
Соответствует любому единичному символу, включая пробел.
*
Соответствует 0 или более последовательностей образца.
+
Соответствует 1 или более последовательностей образца.
?
Соответствует 0 или 1 вхождению образца.
^
Соответствует началу строки.
$
Соответствует концу строки.
_ (символ подчеркивания)
Соответствует запятой (,), левой фигурной скобке ({), правой фигурной скобке (}), левой круглой скобке ( ( ), правой круглой скобке ( ) ), началу строки, концу строки или пробелу.

Для использования этих специальных символов в качестве односимвольных образцов необходимо исключить их специальное значение, предваряя эти символы обратной косой чертой (\). В приведенных ниже примерах представлены односимвольные образцы, соответствующие знаку доллара, подчеркиванию и знаку плюс соответственно.
\$ \_ \+
Можно определять диапазон односимвольных образцов, сопоставляемых с выводом команды. Например, можно создать регулярное выражение, соответствующее строке, содержащей одну из следующих букв: a, e, i, o или u. Для положительного результата в строке должен присутствовать только один из этих символов. Для указания диапазона односимвольных образцов символы заключаются в квадратные скобки ([ ]). Например, [aeiou] соответствует любой из пяти гласных букв в нижнем регистре, тогда как [abcdABCD]соответствует любой из первых четырех букв алфавита в верхнем или нижнем регистре.
Можно упростить представление диапазона, указав только крайние элементы диапазона, разделенные тире (-). Рассмотренный ранее диапазон упрощается следующим образом:
[a-dA-D]
Чтобы добавить тире в качестве односимвольного образца, необходимо включить еще один знак тире, поставив перед ним обратную косую черту:
[a-dA-D\-]
Аналогично, правую квадратную скобку (]) можно включить в качестве односимвольного образца, как показано ниже:
[a-dA-D\-\]]
Предыдущий пример соответствует любой из первых четырех букв алфавита в верхнем или нижнем регистре, тире или правой квадратной скобке.
Можно инвертировать соответствие диапазона, поставив знак вставки (^) в начале диапазона. Следующий пример соответствует любой букве, кроме перечисленных:
[^a-dqsv]
Следующий пример соответствует всему, кроме правой квадратной скобки (]) и буквы d:
[^\]d]
Многосимвольные образцы

При создании регулярных выражений можно указать образец, содержащий несколько символов. Многосимвольные регулярные выражения создаются путем объединения букв, цифр или клавиатурных символов, не имеющих специального значения. Например, a4% является многосимвольным регулярным выражением. Вставка обратной косой черты перед клавиатурными символами, имеющими специальное значение, приводит к тому, что они воспринимаются буквально.
В многосимвольных образцах важен порядок. Регулярное выражение a4% соответствует символу a, за которым следует 4, за которым следует знак %. Если в строке не содержится a4% в указанном порядке, сопоставление образца неуспешно. Многосимвольное регулярное выражение a. использует специальное значение символа точки, обозначая соответствие букве a, за которой следует любой одиночный символ. В этом примере строки ab, a! или a2 являются действительными соответствиями для регулярного выражения.
Исключить специальное значение символа точки можно, поставив перед ним обратную косую черту. Например, при использовании в синтаксисе команды выражения a\. только строка a. будет соответствовать образцу.
Можно создавать многосимвольное регулярное выражение, содержащее все буквы, все цифры, все клавиатурные символы или комбинацию букв, цифр и других клавиатурных символов. Например, telebit 3107 v32bis является действительным регулярным выражением.
Множители

Можно создавать более сложные регулярные выражения, заставляющие программное обеспечение Cisco IOS сопоставлять множественные вхождения определенного регулярного выражения. Для этого в односимвольных и многосимвольных образцах используются некоторые специальные символы. Таблица 4 содержит список специальных символов, определяющих "множители" регулярного выражения.
Таблица 4. Специальные символы, используемые в качестве множителей
Символ
Описание
*
Соответствует 0 или более односимвольных или многосимвольных образцов.
+
Соответствует 1 или более односимвольных или многосимвольных образцов.
?
Соответствует 0 или 1 вхождений односимвольного или многосимвольного образца.

Следующий пример соответствует любому количеству вхождений буквы a, включая отсутствие вхождений:
a*
Следующий пример для соответствия требует наличия в строке как минимум одной буквы a:
a+
Следующий пример соответствует строке bb или bab:
ba?b
Следующая строка соответствует любому количеству символов звездочки (*):
\**
Для использования множителей в многосимвольном образце образец заключается в скобки. В следующем примере образец соответствует любому количеству вхождений многосимвольной строки ab:
(ab)*
Представляя более сложный пример, следующий образец соответствует одному или большему количеству вхождений алфавитно-цифровых пар, но не отсутствию вхождений (то есть пустая строка не обеспечивает совпадения):
([A-Za-z][0-9])+
Порядок совпадений, использующих множители (*, + или ?), таков, что наиболее длинное помещается первым. Сопоставление для вложенных конструкций выполняется снаружи внутрь. Сцепленные конструкции сопоставляются, начиная с левой стороны конструкции. Таким образом, регулярное выражение соответствует A9b3, но не 9Ab3, так как буквы указаны впереди цифр.
Дизъюнкция (логическое сложение)

Дизъюнкция позволяет указывать альтернативные образцы для сопоставления со строкой. Альтернативные образцы отделяются вертикальной чертой (|). Строке может соответствовать только один из альтернативных образцов. Например, регулярное выражение codex|telebit соответствует строке codex или строке, но не обеим — codex и telebit.
Связывание

Можно заставить программное обеспечение Cisco IOS сравнивать регулярное выражение с началом или концом строки. Т. е. можно указать, начало или конец строки должен содержать определенный образец. Происходит "связывание" этих регулярных выражений с частью строки с помощью специальных символов, показанных в таблице 5.
Таблица 5. Специальные символы, используемые для связывания
Символ
Описание
^
Соответствует началу строки.
$
Соответствует концу строки.

Например, регулярное выражение ^con соответствует любой строке, начинающейся с con, а $sole соответствует любой строке, заканчивающейся подстрокой sole.
Помимо указания на начало строки, символ ^ может использоваться для обозначения логической функции "not" в диапазоне, заключенном в квадратные скобки. Например, выражение [^abcd] обозначает диапазон, соответствующий любой строчной букве, если это не буква a, b, c или d.
Необходимо отличать эти символы связывания от специального символа подчеркивания (_). Подчеркивание соответствует началу строки, (^), концу строки ($), круглым скобкам (( )), пробелу ( ), фигурным скобкам ({}), запятой (,) или подчеркиванию (_). С помощью символа подчеркивания можно указать, что образец может находиться в любом месте строки. Например, _1300_ соответствует любой строке, содержащей 1300 в любой части строки. Строке 1300 может предшествовать, или она может заканчиваться пробелом, фигурной скобкой, запятой или подчеркиванием. Таким образом, хотя {1300_ соответствует регулярному выражению _1300_, строки 21300 и 13000 ему не соответствуют.
С помощью символа подчеркивания можно заменить длинные списки регулярных выражений. Например, вместо указания ^1300( ) ( )1300$ {1300, ,1300, {1300} ,1300, (1300 можно указать просто _1300_.
Скобки для повторного вызова

Как показано в разделе "Множители", скобки используются в многосимвольных регулярных выражениях для обозначения множественных вхождений образца. Можно также использовать скобки вокруг односимвольных и многосимвольных образцов, чтобы указать программному обеспечению Cisco IOS на необходимость запомнить образец для его использования где-либо еще в регулярном выражении.
Для создания регулярного выражения, повторно вызывающего предыдущий образец, используются скобки, обозначающие запоминание определенного образца, и обратная косая черта, за которой следует номер для повторного использования запомненного образца. Номер указывает на вхождение скобок в образце регулярного выражения. Если в регулярном выражении имеется более одного запомненного образца, то \1 обозначает первый запомненный образец, \2 обозначает второй запомненный образец, и т. д.
Следующее регулярное выражение использует скобки для повторного вызова:
a(.)bc(.)\1\2
Это регулярное выражение соответствует a, за которой следует любой символ (назовем его символ номер 1), за которым следует bc, за которым следует любой символ (символ номер 2), за которым опять следует символ номер 1, за которым опять следует символ номер 2. Так, это регулярное выражение соответствует строке aZbcTZT. Программное обеспечение запоминает, что символ номер 1 — это Z, и символ номер ?2 — это T, и затем повторно использует Z и T далее в регулярном выражении.
Поиск и фильтрация для команд show

Для поиска в потоке вывода команды show служит следующая команда привилегированного режима EXEC:
Команда
Назначение
Router# show любая_команда | begin регулярное_выражение
Нефильтруемый вывод команды show, начиная с первой строки, содержащей регулярное выражение.


Примечание в документации Cisco IOS вертикальная черта обычно используется для обозначения вариантов синтаксиса. Однако для поиска в потоке вывода команд show и more необходимо вводить символ канала (вертикальную черту). В этом разделе символ канала выделяется полужирным шрифтом (|), чтобы обозначить необходимость ввода именно этого символа.
Для фильтрации потока вывода команды show служат следующие команды привилегированного режима EXEC:
Команда
Назначение
Router# show любая_команда | exclude регулярное_выражение
Отображение строк вывода, не содержащих регулярное выражение.
Router# show любая_команда | include регулярное_выражение
Отображение строк вывода, содержащих регулярное выражение.

В большинстве систем для прерывания вывода и возврата в привилегированный режим EXEC можно в любой момент ввести сочетание клавиш Ctrl-Z. Например, при вводе команды show running-config | begin hostname отображение текущей конфигурации начинается со строки, содержащей параметр hostname, и по окончании интересующей информации можно воспользоваться сочетанием клавиш Ctrl-Z.
Поиск и фильтрация для команд more

Поиск для команд more осуществляется так же, как и для команд show (команды more выполняют те же функции, что и команды show). Для поиска в потоке вывода команды more служит следующая команда привилегированного режима EXEC:
Команда
Назначение
Router# more любая_команда | begin регулярное_выражение
Нефильтруемый вывод команды more, начиная с первой строки, содержащей регулярное выражение.

Фильтрация для команд more осуществляется так же, как и для команд show. Для фильтрации потока вывода команды more служат следующие команды привилегированного режима EXEC:
Команда
Назначение
Router# more любая_команда | exclude регулярное_выражение
Отображение строк вывода, не содержащих регулярное выражение.
Router# more любая_команда | include регулярное_выражение
Отображение строк вывода, содержащих регулярное выражение.

Поиск и фильтрация после приглашения --More--

Существует возможность поиска в потоке вывода после приглашения --More--. Для поиска в потоке вывода команд show или more, начиная с приглашения --More--, служит следующая команда пользовательского режима EXEC:
Команда
Назначение
-More-
/регулярное_выражение
Нефильтруемый вывод, начиная с первой строки, содержащей регулярное выражение.

Существует возможность фильтрации потока вывода после приглашения --More--. Однако при этом можно задать только один фильтр для каждой команды. Фильтр сохраняет действие до окончания вывода команд show или more или до прерывания вывода с помощью сочетания клавиш Ctrl-Z или Ctrl-6. Таким образом, невозможно добавить второй фильтр после приглашения --More--, если фильтр уже задан в исходной команде или на предыдущем приглашении --More--.

Примечание Поиск и фильтрация осуществляют различные функции. Можно выполнять поиск в потоке вывода команды с помощью ключевого слова begin и задать для той же команды фильтр после приглашения --More-- .
Для фильтрации вывода команд show или more после приглашения --More-- используются следующие команды пользовательского режима EXEC:
Команда
Назначение
-More-
-регулярное_выражение
Отображение строк вывода, не содержащих регулярное выражение.
-More-
+регулярное_выражение
Отображение строк вывода, содержащих регулярное выражение.

Использование CLI Cisco IOS: примеры
В следующих разделах приведены примеры использования CLI:
• Определение синтаксиса команды и использование истории команд: пример
• Поиск и фильтрация вывода CLI: примеры
Определение синтаксиса команды и использование истории команд: пример

CLI обеспечивает локализацию ошибки в виде указателя ошибки — символа вставки (^). Символ ^ появляется в том месте командной строки, где пользователь ввел неправильную команду, ключевое слово или аргумент.
В следующем примере, предположим, необходимо установить часы. Чтобы определить правильный синтаксис для установки часов, используется контекстно-зависимая справка.
 Router# clock ?
   set  Set the time and date
 Router# clock

Вывод справки показывает, что требуется ключевое слово set. Определим синтаксис для установки времени:
 Router# clock set ?
 hh:mm:ss   Current time
 Router# clock set

Введем текущее время:
 Router# clock set 13:32:00
 % Incomplete command.

Система указывает на необходимость ввести дополнительные аргументы для завершения команды. Нажмем Ctrl-P или клавишу "Стрелка вверх", чтобы автоматически повторить предыдущий ввод команды. Затем добавим пробел и вопросительный знак (?), чтобы показать дополнительные аргументы:
 Router# clock set 13:32:00 ?
   <1-31>     Day of the month
   January    Month of the year
   February
   March
   April
   May
   June
   July
   August
   September
   October
   November
   December

Теперь можно завершить ввод команды:
 Router# clock set 13:32:00 23 February 01
                                        ^
 % Invalid input detected at '^' marker.

Символ вставки (^) и ответ справки указывают на ошибку на месте 01. Чтобы получить правильный синтаксис, введем команду до того места, где обнаружена ошибка, и затем введем вопросительный знак (?):
 Router# clock set 13:32:00 23 February ?
   <1993-2035> Year
 Router# clock set 13:32:00 23 February

Введем год, используя правильный синтаксис, и нажмем Enter или Return для выполнения команды:
Router# clock set 13:32:00 23 February 2001

Поиск и фильтрация вывода CLI: примеры

Ниже в качестве примера приведен фрагмент вывода команды привилегированного режима EXEC more nvram:startup-config | begin, которая начинает нефильтруемый вывод с первой строки, содержащей регулярное выражение ip. После приглашения --More-- пользователь задает фильтр, который исключает строки, содержащие регулярное выражение ip.
 Router# more nvram:startup-config | begin ip
 ip subnet-zero
 ip domain-name cisco.com
 ip name-server 192.168.48.48
 ip name-server 172.16.2.132
 !
 isdn switch-type primary-5ess
 .
 .
 .
 interface Ethernet1
  ip address 10.5.5.99 10.255.255.0
  --More--
 -ip
 filtering...
  media-type 10BaseT
 !
 interface Serial0:23
  encapsulation frame-relay
  no keepalive
  dialer string 4001
  dialer-group 1
  isdn switch-type primary-5ess
  no fair-queue

Далее для примера приведен фрагмент вывода команды привилегированного режима EXEC more nvram:startup-config | include. Он отображает только строки, содержащие регулярное выражение ip.
 Router# more nvram:startup-config | include ip
 ip subnet-zero
 ip domain-name cisco.com
 ip name-server 1192.168.48.48
 ip name-server 172.16.2.132

Далее для примера приведен фрагмент вывода команды привилегированного режима EXEC more nvram:startup-config | exclude . Из него исключены строки, содержащие регулярное выражение service. После приглашения --More-- пользователь задает фильтр с регулярным выражением Dialer1. При задании этого фильтра вывод возобновляется с первой строки, содержащей подстроку Dialer1.
 Router# more nvram:startup-config | exclude service
 !
 version 12.2
 !
 hostname router
 !
 boot system flash
 no logging buffered
 !
 ip subnet-zero
 ip domain-name cisco.com
 .
 .
 .
 --More--
 /Dialer1
 filtering...
 interface Dialer1
  no ip address
  no ip directed-broadcast
  dialer in-band
  no cdp enable

Далее для примера приведен фрагмент вывода команды пользовательского или привилегированного режима EXEC show interface с указанием поиска в потоке вывода. При указании после символа канала ключевых слов begin Ethernet нефильтрованный вывод начинается с первой строки, содержащей регулярное выражение Ethernet. После приглашения --More-- пользователь задает фильтр, который отображает только строки, содержащие регулярное выражение Serial.
 Router# show interface | begin Ethernet

 Ethernet0 is up, line protocol is up
 Hardware is Lance, address is 0060.837c.6399 (bia 0060.837c.6399)
   Description: ip address is 172.1.2.14 255.255.255.0
   Internet address is 172.1.2.14/24
 .
 .
 .
      0 lost carrier, 0 no carrier
      0 output buffer failures, 0 output buffers swapped out
 --More--
 +Serial
 filtering...
 Serial1 is up, line protocol is up
 Serial2 is up, line protocol is up
 Serial3 is up, line protocol is down
 Serial4 is down, line protocol is down
 Serial5 is up, line protocol is up
 Serial6 is up, line protocol is up
 Serial7 is up, line protocol is up

Далее для примера приведен фрагмент вывода команды show buffers | exclude . Из него исключены строки, содержащие регулярное выражение 0 misses. После приглашения --More-- пользователь задает поиск, который продолжает фильтрованный вывод, начиная с первой строки, содержащей подстроку Serial0.
 Router# show buffers | exclude 0 misses

 Buffer elements:
      398 in free list (500 max allowed)
 Public buffer pools:
 Small buffers, 104 bytes (total 50, permanent 50):
      50 in free list (20 min, 150 max allowed)
      551 hits, 3 misses, 0 trims, 0 created
 Big buffers, 1524 bytes (total 50, permanent 50):
      49 in free list (5 min, 150 max allowed)
 Very Big buffers, 4520 bytes (total 10, permanent 10):
 .
 .
 .
 Huge buffers, 18024 bytes (total 0 permanent 0):
      0 in free list (0 min, 4 max allowed)
 --More--
 /Serial0
 filtering...
 Serial0 buffers, 1543 bytes (total 64, permanent 64):
      16 in free list (0 min, 64 max allowed)
      48 hits, 0 fallbacks

Далее для примера приведен фрагмент вывода команды пользовательского или привилегированного режима EXEC show interface | include . При указании после символа канала (|) ключевых слов include ( is ) команда отображает только строки, содержащие регулярное выражение ( is ). Скобки обеспечивают включение пробелов до и после is. Благодаря использованию скобок в вывод включаются только те строки, в которых содержится подстрока is с пробелами до и после нее (при этом исключается, например, слово "disconnect").
 router# show interface | include ( is )

 ATM0 is administratively down, line protocol is down
   Hardware is ATMizer BX-50
 Dialer1 is up (spoofing), line protocol is up (spoofing)
   Hardware is Unknown
   DTR is pulsed for 1 seconds on reset
 Ethernet0 is up, line protocol is up
   Hardware is Lance, address is 0060.837c.6399 (bia 0060.837c.6399)
   Internet address is 172.21.53.199/24
 Ethernet1 is up, line protocol is up
   Hardware is Lance, address is 0060.837c.639c (bia 0060.837c.639c)
   Internet address is 10.5.5.99/24
 Serial0:0 is down, line protocol is down
   Hardware is DSX1
 .
 .
 .
  --More--

После приглашения --More-- пользователь задает поиск, который продолжает фильтрованный вывод, начиная с первой строки, содержащей подстроку Serial0:13:
 /Serial0:13
 filtering...
 Serial0:13 is down, line protocol is down
   Hardware is DSX1
   Internet address is 10.0.0.2/8
      0 output errors, 0 collisions, 2 interface resets
   Timeslot(s) Used:14, Transmitter delay is 0 flag

Комментарии

Популярные сообщения из этого блога

Шпаргалка по Zimbra

Горячие клавиши в mcedit (Midnight Commander)

Добавление домена в белый список антиспама Zimbra