1 命令行界面

命令 作用
alias 配置一条命令的别名
alias keyword 配置一条命令关键字的别名
automatic-switching-mode 开启配置模式智能切换功能
clear alias keyword all 把设备当前的所有别名配置全部清除
cli-python 加载和卸载CLI的Python脚本
language character-set 配置设备字符集编码格式
load alias keyword 批量加载别名配置
privilege 配置一条命令的执行权限
show aliases 查看所有的命令别名或特定命令模式下的命令别名
show alias keyword 查看所有的命令别名或特定命令模式下的命令别名

 

 

1.1   alias

【命令功能】

alias命令用来配置一条命令的别名。

no alias命令用来删除自定义的命令别名,对于存在默认别名的命令,可恢复缺省配置。

default alias命令用来将存在默认别名的命令恢复缺省配置。

缺省情况下,在特权模式或者全局配置模式下,部分命令存在默认的别名。

【命令格式】

alias mode command-alias original-command

no alias mode [ command-alias ]

default alias mode [ command-alias ]

【参数说明】

mode:别名所代表的命令在系统中所处的配置模式的名称。

command-alias:命令别名。

original-command:别名所代表的实际命令语法。

【命令模式】

全局配置模式

【缺省级别】

14

【使用指导】

特权用户模式下默认的命令别名为h、p、s、u、un的实际命名分别为helppingshowundebugundebug

默认的命令别名不能通过no alias exec命令删除。

通过配置命令别名,可以用一个单词来代替一条命令。例如,创建一个别名来代表一条命令的前一部分,再继续输入后面的部分。

别名所代表的命令所处的命令模式是当前系统中存在的命令模式,在全局配置模式下,输入alias ?可以列出当前可以配置别名的全部命令模式:

Hostname(config)# alias ?

aaa-gs                 AAA server group mode

acl                     acl configure mode

bgp                     Configure bgp Protocol

config                 globle configure mode

命令别名支持帮助信息,在别名前面会显示一个星号(*),并且会用以下格式显示:

*command-alias=original-command

例如,在特权模式下,默认的命令别名“s”表示“show”关键字。则输入“s?”可以获取“s”开头的关键字和别名的帮助信息:

Hostname# s?

*s=show  show  start-chat  start-terminal-service

如果别名所代表的命令不止一个单词,则会使用引号将命令包括起来。例如,在特权模式下配置别名“sv”代替命令show version,则:

Hostname# s?

*s=show  *sv="show version" show  start-chat

start-terminal-service

别名必须从输入的命令行的第一个字符开始并且别名前面不能存在空格。如上面的例子,如果在命令之前输入了空格,就不能表示合法的别名:

Hostname# s?

show  start-chat  start-terminal-service

命令别名也可以支持获取命令的参数的帮助信息,例如配置接口模式下的命令别名“ia”代表“ip address”,则在接口模式下:

Hostname(config-if)# ia ?

A.B.C.D  IP address

dhcp     IP Address via DHCP

Hostname(config-if)# ip address

此处列出了ip address命令后面的参数信息,并且将别名替换成实际的命令。

命令别名在使用时必须完整输入,否则不能被识别。

使用show aliases命令可以查看系统中的别名设置。

【配置举例】

# 配置全局配置模式下,使用命令别名“def-route”表配置路由命令“ip route 0.0.0 .0 0.0.0.0 192.168.1.1”。

Hostname> enable

Hostname# configure terminal

Hostname(config)# alias config def-route ip route 0.0.0 .0 0.0.0.0 192.168.1.1

Hostname(config)# def-route?

*def-route="ip route 0.0.0 .0 0.0.0.0 192.168.1.1"

Hostname(config)# end

Hostname# show aliases config

globle configure mode alias:

def-route            ip route 0.0.0 .0 0.0.0.0 192.168.1.1

【提示信息】

# 命令别名长度不能超过19个字符,如果超过该限制长度则会出现以下提示信息:

% Overly long alias name truncated after 19 characters.

# 别名所代表的实际命令语法字符串长度不能超过255个字符,如果超过该限制长度则会出现以下提示信息:

% Command alias string too long.

# 每个命令模式下支持的最多的别名个数为100个,如果超过该限制长度则会出现以下提示信息:

% Can't add more than 100 command aliases in single mode.

# 因为各种意外原因(例如内存不足等),添加别名失败时,则会出现以下提示信息:

% Adding command alias fail.

【常见错误】

【平台说明】

在命令行编辑界面上,配置用一个单词作为一条命令的别名。输入这个的单词,如果可以来代替这条命令,即说明该别名配置有效。

【相关命令】

l  show aliases

1.2   alias keyword

【命令功能】

alias keyword命令用来配置一条命令关键字的别名。

no alias keyword命令用来删除自定义的命令关键字别名。

default alias keyword命令用来恢复命令默认名称。

缺省情况下,不存在默认的命令关键字别名。

【命令格式】

alias keyword mode original-command1 command-alias1 ... [original-commandn command-aliasn]

no alias keyword mode original-command1 … [original-commandn ]

default alias keyword mode original-command1 … [original-commandn ]

 

【参数说明】

mode:别名所代表的命令在系统中所处的配置模式的名称。

command-alias:命令关键字将要使用的别名。

original-command:命令关键字原始名称。

【命令模式】

全局配置模式

【缺省级别】

14

【使用指导】

通过配置命令关键字别名,可以使命令关键字完全替换完另外一个名称,同时原始命令不在提供帮助信息,但依然可以执行。

例如,创建一个关键字别名将show running-config别名成display current命令。

设备在使用?字符寻求帮助信息时,不再提示show命令的相关内容,只会提示display命令的相关帮助信息,但设备同时也可以使用show running-config以及display current命令。

别名所代表的命令关键字所处的命令模式是当前系统中存在的命令模式, 进行别名时,只有对应模式下的命令关键字才会被别名, 在全局配置模式下,输入alias keyword ?可以列出当前可以配置别名的全部命令模式:

Hostname(config)# alias keyword ?

aaa-gs                 AAA server group mode

acl                     acl configure mode

bgp                     Configure bgp Protocol

config                 globle configure mode

此时需要选择在哪个模式下进行别名,以config模式为例, 输入 alias keyword config ?后可以列出当前模式可以配置的命令关键字列表,

Hostname(config)# alias keyword config ?

aaa                       Authentication,  Authorization and Accounting

access-list               Add an access list entry

address-bind              Set a binding of IP and MAC address

address-manage            Configure address manage on interface

aggregateport             Aggregate port configuration

aggregateport-admin       Configure aggregate port admin

alarm                     Alarm

alias                     Create command alias

在列表中选择你需要别名的关键字,将其别名,例如将aaa命令别名为bbb

Hostname(config)# alias keyword config aaa bbb

在后续配置命令时,设备将不存在aaa命令,按?提示时,将直接提示为bbb命令, 执行命令时可以使用aaa命令也可以使用bbb命令执行。

Hostname(config)#?

bbb                       Authentication,  Authorization and Accounting

Hoist

Hostname(config)#bbb ?

WORD           User name

authorization  Authorization configurations parameters.

group          Define group

new-model      Enable new access control commands and functions

slave-login    Slave login switch

 

注意

1.配置命令别名后会略微降低查看配置、保存配置、配置恢复的性能。

2.配置命令别名后,privilege命令所更改的命令权限,需要使用别名后的命令重新配置

3.执行一些命令中回显中含有原始命令的话,不会被替换为新的别名内容。

当前只有show running-config(不包括show running-config { interface | router-protocol } 命令)命令中的回显会被别名,其他命令中的回显内容将不会被更换。

4.命令被别名后,命令中输入的参数部分内容,不能设置为和原始命令相同的字符串。

示例:将命令username user password pass 别名为 user user pass pass 此时下发配置,user password pass password,将导致该命令回显异常为,user pass password password

  1. 一个命令关键字可能是多个子命令关键字公共父关键字,在别名时,所有子命令关注的公共父命令关键字都会被别名。

示例:将logging service 命令别名为syslog service命令,由于logging命令同时也是logging file命令中file关键字的父关键字,因此logging file命令也将会被别名为syslog file命令

  1. 一个命令关键字可能被多个功能模块注册,需要完全替换此类关键字时,在配置别名时,需要配置一条未带子命令关键字的别名配置。

示例:ip dhcp pool命令中ip命令是许多功能模块同时注册的命令关键字,使用alias keyword config ip ipv4 dhcp dhcp-server 将ip dhcp pool别名为ipv4 dhcp-server pool命令时,由于命令上限定了是ip dhcp命令变更为ipv4 dhcp-server, 因此并不会完全变更所有ip命令变为ipv4命令, 只有该功能模块含有ip dhcp命令时才会变更

如果需要将所有ip命令变更为ipv4命令,则需要使用alias keyword config ip ipv4 来将所有含有ip命令的功能模块,变更为ipv4命令

7.关键字别名时,无法将参数别名,在别名命令显示出来列表中含有被<>包括的内容,表示为参数,有些关键字是在不同的参数之后的,选择对应参数取值范围后即可继续选择后续命令关键字。

示例:例如想要将username username-msg  password password-msg命令别名为user-test username-msg pass-test password-msg命令,需要执行alias keyword config username user-test <WORD> password pass-test命令,其中<WORD>所对的内容为username-msg该参数内容

  1. 用户在进行别名时,需要注意命令之间可能产生歧义,如果出现歧义,用户需要重新定义别名。歧义命令示例如下,

设备存在命令 username user,此时将show running-config命令别名为username running-config, 此时设备上存在usernmae user 以及username running-config两条命令,当输入username running-config时,无法识别应当执行哪个命令,因此可能命令执行异常, 可能会和客户预期产生偏差。

9.一条别名配置对应一个show running-config内容的替换,在第4点说明中提到的共命令节点,可能存在show running-config显示还是原始命令的情形,此时需要补充对应命令的别名配置才可正常显示。

示例:将redistribute-route ospf number metric命令替换为redistribute-route ospf number metric-type,由于redistribute-route bgp number metric中的metric是与别名的metric命令是共节点的,在执行命令时提示的命令为metric-type但是,show running-config的配置不会被别名替换,如果需要替换,需要重新配置一个将redistribute-route bgp number metric命令替换为redistribute-route bgp number metric-type的别名配置。

【配置举例】

# 配置全局配置模式下,使用命令关键字别名将config模式下username namename-msg password password-msg 别名为user-test namename-msg pass-test password-msg

Hostname> enable

Hostname# configure terminal

Hostname(config)# alias keyword config username user-test <WORD> password pass-test

Hostname(config)# user-test test pass-test test

【提示信息】

# 一个命令关键字已经被别名过,当再次被别名为其他内容时,提示以下关键字:

% The keyword "dhcp" had been aliased and will not be aliased, the alias keyword name is "dhcp2".

But if there are other keywords with the same name, the alias can take effect

# 命令关键字只能由大小字母、小写字母、数字、‘-’以及‘_组成,输入其他字符则无效:

the alias name "@#$asd" is invaild.

# 命令关键字不能别名超过32位:

The alias name must be less than 32.

【常见错误】

【平台说明】

【相关命令】

l  show alias keyword

l  load alias keyword

l  clear alias keyword all

1.3   automatic-switching-mode

【命令功能】

automatic-switching-mode命令用来开启配置模式智能切换功能。

no automatic-switching-mode命令用来关闭配置模式智能切换功能。

缺省情况下,配置模式智能切换功能处于开启状态。

【命令格式】

automatic-switching-mode

no automatic-switching-mode

【命令模式】

全局配置模式

【缺省级别】

14

【使用指导】

当配置模式智能切换功能处于开启状态时,若执行的命令当前配置模式不存在,系统将向上一级模式搜索该命令,若存在则自动切换至上一级配置模式并执行该命令。

部分配置模式下支持上一级和上上一级的智能切换。

【配置举例】

# 关闭配置模式智能切换功能。

Hostname> enable

Hostname# configure terminal

Hostname(config)# no automatic-switching-mode

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.4   clear alias keyword all

【命令功能】

clear alias keyword all命令用来把设备当前的所有别名配置全部清除。

【命令格式】

clear alias keyword all

【参数说明】

【命令模式】

特权模式

【缺省级别】

14

【使用指导】

本命令用于把设备当前的所有别名配置全部清除。

【配置举例】

# 配置清除设备当前的所有别名配置。

Hostname> enable

Hostname#clear alias keyword all

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.5   cli-python

【命令功能】

cli-python命令用来加载和卸载CLI的Python脚本。

【命令格式】

cli-python { insmod | rmmod } python-filename

【参数说明】

insmod:加载CLI的Python脚本。

rmmod:卸载CLI的Python脚本。

python-filename:表示Python脚本文件全名。

【命令模式】

特权模式

【缺省级别】

15

【使用指导】

本命令用于把Python脚本文件上传到设备的flash根目录下,执行CLI的Python加载命令加载Python脚本。

【配置举例】

# 配置加载Hostname.py脚本加载命令树。

Hostname> enable

Hostname# cli-python insmod Hostname.py

% Python script module "Hostname.py" insert success

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.6   language character-set

【命令功能】

language character-set命令用来配置设备字符集编码格式。

no language character-set命令用来取消设备字符编码格式的配置。

default language character-set命令用来恢复缺省配置。

缺省情况下,设备字符集编码格式支持混码。

【命令格式】

language character-set default gbk | utf-8 }

no language character-set

default language character-set

【参数说明】

default:设置字符集编码为支持混码格式。

gbk:设置字符集编码为GBK格式。

utf-8:设置字符集编码为UTF-8格式。

【命令模式】

全局配置模式

【缺省级别】

14

【使用指导】

设备当前的运行配置中存在混码情况下,要修改统一字符集编码时,必须先将运行配置中和要设置的字符集编码不同的配置手动删除后,才能修改字符集编码。

当设备当前配置的编码格式与客户终端所使用的编码格式不相同时,将可能出现乱码的情况。

【配置举例】

# 配置设备的字符集编码格式为UTF-8。

Hostname> enable

Hostname# configure terminal

Hostname(config)# language character-set utf-8

This may take some time to build configuration, Continue? (yes[no]): y

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.7   load alias keyword

【命令功能】

load alias keyword命令用来批量加载别名配置。

【命令格式】

load alias keyword flash: | tmp: | filename }

【参数说明】

flash:flash路径下的文件。

tmp:tmp路径下的问题。

-filename:表示别名配置文件全名。

【命令模式】

特权模式

【缺省级别】

14

【使用指导】

本命令用于批量加载别名关键字配置命令,将别名关键字配置写入文件中,使用该命令可以批量执行。

【配置举例】

# 配置来批量加载别名配置。

Hostname> enable

Hostname#load alias keyword flash:alias_config.text

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.8   privilege

【命令功能】

privilege命令用来配置一条命令的执行权限。

no privilege命令用来恢复命令的缺省级别。

【命令格式】

privilege mode all ] { level level | reset command-string

no privilege mode all ] [ level level command-string

【参数说明】

mode:要授权的命令在系统中所属的配置模式的名称。

all:将指定命令的所有子命令的权限,变为相同的权限级别。

level level:指定命令或子命令的运行权限级别。取值范围为0~15。

reset:将命令的执行权限恢复为默认级别。

command-string:要授权的命令字符串。

【命令模式】

全局配置模式

【缺省级别】

15

【使用指导】

在全局配置模式下,可以使用privilege ?列出当前所有可授权的CLI命令模式。以下仅列出部分模式的模式说明。

l  config:全局配置模式。

l  exec:特权模式。

l  interface:接口配置模式。

l  ip-dhcp-pool:DHCP地址池配置模式。

l  keychain:KeyChain配置模式。

l  keychain-key:KeyChain-key配置模式。

l  time-range:Time-Range配置模式。

选择一条在高级别(例如14级)支持而低级别(例如1级)不支持的命令,再将本命令授权给低级别。切换到低级别后,如果本命令可以被执行,则表明授权有效。

【配置举例】

# 配置CLI级别1的口令为”test”,并设置执行reload命令的权限,可以复位设备。

Hostname> enable

Hostname# configure terminal

Hostname(config)# privilege exec level 1 reload

# 使用级别1进入CLI界面,发现可以使用reload命令。

Hostname> reload ?

LINE    Reason for reload

<cr>

# 配置reload的全部子命令都授权给级别1的用户。

Hostname> enable

Hostname# configure terminal

Hostname(config)# privilege exec all level 1 reload

# 使用级别1进入CLI界面,发现可以使用reload的全部子命令。

Hostname> reload ?

LINE    Reason for reload

at                      reload at a specific time/date

cancel                 cancel pending reload scheme

in                      reload after a time interval

【提示信息】

【常见错误】

【平台说明】

【相关命令】

1.9   show aliases

【命令功能】

show aliases命令用来查看所有的命令别名或特定命令模式下的命令别名。

【命令格式】

show aliases [ mode ]

【参数说明】

mode:别名所代表的命令所处的命令模式。

【命令模式】

除用户模式以外的所有模式

【缺省级别】

14

【使用指导】

如果没有输入命令模式,则显示所有的命令别名设置。

【配置举例】

# 查看特权模式下的命令别名。

Hostname> enable

Hostname# show aliases exec

exec mode alias:

h                    help

p                    ping

s                    show

u                    undebug

un                   undebug

表1-1   show aliases命令输出信息描述表

字段 描述
mode mode alias 模式支持的别名。mode表示别名所代表的命令在系统中所处的配置模式的名称
command-alias                    original-command 命令别名以及对应的实际命令语法

●    command-alias表示命令别名

●    original-command表示别名所代表的实际命令语法

 

【提示信息】

【平台说明】

【相关命令】

1.10   show alias keyword

【命令功能】

show alias keyword命令用来查看所有的命令别名或特定命令模式下的命令别名。

【命令格式】

show aliases keyword {all [ config ] | mode_name}

【参数说明】

all:表示显示所有别名信息

config:表示显示当前的别名配置

mode:别名所代表的命令关键字所处的命令模式。

【命令模式】

除用户模式以外的所有模式

【缺省级别】

14

【使用指导】

使用该命令显示当前设备上存在的别名信息,或者别名配置。

【配置举例】

# 查看全部模式下的命令关键字别名。

Hostname> enable

Hostname# show alias keyword all

mode name         source keyword                                       alias keyword

exec            | configure                                          | conf

exec            | show running-config                                | display current-config

bgp             | address-family                                     | address-familt-mode

config          | no                                                 | unset

config          | snmp-server                                        | snmp-agent

config          | logging                                            | syslog

config          | aaa                                                | bbb

config          | username password                                  | aaa bbb

config          | hostname                                           | host

config          | ip dhcp pool                                       | ip dhcp-server loop

config          | snmp-server trap-format                            | snmp-agent trap-format-format

config          | snmp-server enable                                 | snmp-agent active

# 查看命令关键字别名配置信息。

Hostname> enable

Hostname# show alias keyword all config

alias keyword exec configure conf

alias keyword exec show display running-config current-config

alias keyword config no unset

alias keyword bgp address-family address-familt-mode

alias keyword config aaa bbb

alias keyword config snmp-server snmp-agent

alias keyword config logging syslog

alias keyword config username aaa <WORD> password bbb

alias keyword config hostname host

alias keyword config ip ip dhcp dhcp-server pool loop

alias keyword config snmp-server snmp-agent trap-format trap-format-format

alias keyword config snmp-server snmp-agent enable active

 

【提示信息】

【平台说明】

【相关命令】

上一篇 Web举例:防火墙旁挂交换机,交换机静态路由引流
下一篇 【Linux加餐】mmap文件映射