CX320 交换模块 V100R001 配置指南 13
如何使用命令行
本章将介绍如何使用命令行,以及通过一些命令行使用技巧来提升操作效率。
进入命令行视图
此节点介绍了进入和退出命令行视图的方法。
设备提供丰富的功能,相应的也提供了多样的配置和查询命令。为便于用户使用这些命令,华为交换模块按功能分类将命令分别注册在不同的命令行视图下。配置某一功能时,需首先进入对应的命令行视图,然后执行相应的命令进行配置。
设备提供的命令视图有很多,下面提到的视图是最常用的视图。其他视图的进入方式在具体的命令中都有说明,请参见《CX320 交换模块 V100R001 命令参考》。
常用的命令行视图
用户视图
在用户视图下,用户可以完成查看运行状态和统计信息等功能。
进入视图:用户从终端成功登录至设备即进入用户视图,在屏幕上显示:
<HUAWEI>
系统视图
在系统视图下,用户可以配置系统参数以及通过该视图进入其他的功能配置视图。
进入视图:在用户视图下,输入命令system-view后回车,进入系统视图。
<HUAWEI> system-view Enter system view, return user view with return command. [~HUAWEI]
接口视图
配置接口参数的视图称为接口视图。在该视图下可以配置接口相关的物理属性、链路层特性及IP地址等重要参数。
进入视图:使用interface命令并指定接口类型及接口编号可以进入相应的接口视图。以10GE接口为例:
[~HUAWEI] interface 10ge X/Y/Z [~HUAWEI-10GEX/Y/Z]
X/Y/Z为需要配置的接口的编号,分别对应“堆叠ID/子卡号/接口序号”。
路由协议视图
路由协议的大部分参数是在相应的路由协议视图下进行配置的。例如IS-IS协议视图、OSPF协议视图、RIP协议视图。
进入视图:在系统视图下,使用路由协议进程运行命令可以进入到相应的路由协议视图。
[~HUAWEI] isis [*HUAWEI-isis-1]
命令行提示符“HUAWEI”是缺省的主机名(sysname)。通过提示符可以判断当前所处的视图,例如:“<>”表示用户视图,“[]”表示除用户视图以外的其它视图。
用户可以在任意视图中,执行!或#加字符串,此时的用户输入将全部(包括!和#在内)作为系统的注释行内容,不会产生对应的配置信息。
有些在系统视图下执行的命令,在其它视图下也可以执行,但实现的功能与命令视图密切相关。例如lldp enable命令在系统视图表示使能全局的LLDP功能,在接口视图下,表示使能某一接口的LLDP功能。
- 在系统视图下,可以执行命令diagnose进入诊断视图。诊断命令行主要用于设备的故障诊断,在此视图下执行某些命令可能导致设备异常或业务中断。如果您需要使用此类命令行,请联系技术支持人员,在技术支持人员指导下谨慎使用。
退出命令行视图
执行quit命令,即可从当前视图退出至上一层视图。
[~HUAWEI-aaa] quit [~HUAWEI] quit <HUAWEI>
如果需要从AAA视图直接退回到用户视图,则可以在键盘上键入组合键<Ctrl+Z>或者执行return命令。
[~HUAWEI-aaa] //键入<Ctrl+Z> <HUAWEI>
[~HUAWEI-aaa] return <HUAWEI>
选择命令行配置生效模式(立即生效、两阶段生效)
为了保障用户配置的可靠性,系统支持两种配置生效模式,即立即生效模式和两阶段生效模式。
用户在进行配置前必须先进入系统视图。进入系统视图后,系统根据用户选择的配置模式启动相应的配置事务。
立即生效模式是传统的生效模式。
在立即生效模式下,用户在输入命令行并输入回车键后,系统执行语法检查,如果语法检查通过则配置立即生效。
两阶段生效模式将系统配置分为两个阶段。
第一阶段用户输入配置命令,系统在候选数据集执行命令语法和语义检查,对于有错误的配置语句,系统通过命令行终端提醒用户配置错误及错误原因。
用户完成系列配置命令的输入后,需要提交配置,系统进入第二阶段,即配置的提交阶段。此时系统将候选数据集上的配置下发到业务,如果业务生效则将候选数据集的配置合并到当前系统的运行数据集。在配置的提交阶段,系统会进行检查,发现配置相同时会产生提示信息。
生效模式 |
优点 |
缺点 |
---|---|---|
立即生效模式 |
配置产生的业务影响能够立即反映在系统上。 |
由于配置是立即生效的,用户在配置错误时会直接对运行业务产生影响,且不能将业务作为一个整体直接丢弃,用户需要逐条撤销配置。 |
两阶段生效模式 |
|
需要输入commit命令配置才可以生效。 |
- 查询类命令不需要commit,例如display interface。
- 维护类命令不需要commit,例如: slave switchover、dual-active restore、stack upgrade fast rollback-timer、stack upgrade fast stack member、switch mode、reset keepalive packets count。
- 进入物理设备上存在的视图,例如堆叠视图、物理接口视图,不需要commit。例如:interface 10ge1/17/1
- 设备上已有的配置,用户再配置时不需要commit。
立即生效模式
执行命令system-view immediately,进入立即生效模式。
立即生效模式下,用户的提示符如下:
<HUAWEI> system-view immediately Enter system view, return user view with return command. [HUAWEI]
两阶段生效模式
执行命令system-view,进入两阶段生效模式。
(可选)执行命令display configuration candidate [ merge ],查看用户未提交的配置。
指定merge参数,可以查看用户未提交的配置和系统已有的配置。不指定merge参数仅查看当前用户未提交的配置。
在提交配置之前,用户可以继续对未提交的配置进行编辑。
(可选)执行命令clear configuration candidate,清除未提交的所有配置。
(可选)执行命令commit trial [ time ],配置试运行功能。
配置试运行可以在不中断现网业务的情况下,对新的功能和业务进行在网试运行,提升网络可靠性。
- 执行命令commit,提交配置。
在两阶段生效模式中,如果用户进行了配置修改但未提交时,系统提示符中的“~”将变为“*”,提示用户有未提交的配置。当用户通过commit完成配置提交后,“*”重新变为“~”。
举例如下:
<HUAWEI> system-view Enter system view, return user view with return command. [~HUAWEI] sysname HUAWEIA [*HUAWEI] commit [~HUAWEIA]
- 在两阶段生效模式的配置过程中出现,用来提示当前设备上具有未提交的配置。
- 在使用display current-configuration inactive或display current-configuration all查看配置信息时,在配置信息中出现,作为离线配置信息的前导符,用来提示当前配置信息是离线配置。
不管是立即生效模式还是两阶段生效模式,在配置过程中,为了保护某些业务,在业务进程刚开始启动时,会进行配置锁定,所以在此期间用户执行命令或提交配置可能会出现失败,但可以执行查询操作。如果出现失败,建议等待30秒后再执行命令或提交配置,如果再次失败,说明配置被某个用户锁定。
用户锁定配置的命令是configuration exclusive,如果配置被其他用户锁定,则首先需要联系该用户解除配置锁定。
- 两阶段生效模式下,当多个用户进行相同配置时,对于后提交的用户,系统会提示配置冲突,提交不成功。
设置命令级别
系统将命令进行分级管理,各个视图下的每条命令都有指定的级别。设备管理员可以根据用户需要重新设置命令的级别,以实现低级别用户可以使用部分高级别命令的需求,或者将命令的级别提高,增加设备的安全性。
背景信息
为了限制不同用户对设备的访问权限,系统对用户也进行了分级管理。用户的级别与命令级别对应,不同级别的用户登录后,只能使用等于或低于自己级别的命令。缺省情况下,命令级别按0~3级进行注册,用户级别按0~15级进行注册,用户级别和命令级别对应关系如表2-2所示。
表2-2 用户级别和命令级别对应关系用户级别
命令级别
级别名称
说明
0
0
参观级
网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命令(Telnet客户端)、部分display命令等。
1
0、1
监控级
用于系统维护,包括display等命令。
说明:并不是所有display命令都是监控级,比如display current-configuration命令和display saved-configuration命令是3级管理级。各命令的级别请参见《CX320 交换模块 V100R001 命令参考》手册。
2
0、1、2
配置级
业务配置命令,包括路由、各个网络层次的命令,向用户提供直接网络服务。
3~15
0、1、2、3
管理级
用于系统基本运行的命令,对业务提供支撑作用,包括文件系统、FTP、TFTP下载、命令级别设置命令以及用于业务故障诊断的debugging命令等。
如果用户需要实现权限的精细管理,可以使用命令command-privilege level rearrange将命令级别批量提升。
建议用户不要修改缺省的命令级别或者在专业人员的指导下进行修改,以免造成操作和维护上的不便甚至给设备带来安全隐患。
操作步骤
- 执行命令system-view,进入系统视图。
- 执行命令command-privilege level level view view-name command-key,设置指定视图内命令的级别。
- (可选)执行命令command-privilege level rearrange,批量提升命令的级别。
在执行此命令之前,需要用户确保自己的级别为15级,否则无法执行该命令。
如果用户没有对某条命令单独调整过命令级别(执行command-privilege level命令修改过命令级别的命令,维持原来级别不作调整),命令级别批量提升后,原注册的所有命令行按以下原则自动调整:
0级和1级命令保持级别不变。
2级命令提升到10级,3级命令提升到15级。
命令级别提升后,原命令等级0、1、2、3升级为0、1、10、15级。2~9级和11~14级的命令级别中没有命令行。用户可以单独调整需要的命令行到这些级别中,以实现用户权限的精细化管理。
- 执行命令commit,提交配置。
编辑命令行
介绍命令行编辑功能以及在编辑命令行时的操作技巧。
命令行编辑功能
设备的命令行接口提供基本的命令行编辑功能。设备支持多行编辑,每条命令最大长度为1022个字符,命令关键字不区分大小写,命令参数是否区分大小写则由各命令定义的参数决定。
一些常用的编辑功能如表2-3所示。
编辑命令行时的操作技巧
不完整关键字输入
设备支持不完整关键字输入,即在当前视图下,当输入的字符能够匹配唯一的关键字时,可以不必输入完整的关键字。该功能提供了一种快捷的输入方式,有助于提高操作效率。
比如display current-configuration命令,可以输入d cu、di cu或dis cu等都可以执行此命令,但不能输入d c或dis c等,因为以d c、dis c开头的命令不唯一。
系统可正确执行的命令长度最大为1022个字符,包括使用不完整格式的情况。如果使用不完整格式进行配置,由于命令保存到配置文件中时使用的是完整格式,可能导致配置文件中存在长度超过1022个字符的命令。系统重启时,这类命令将无法恢复。因此,在使用不完整格式的命令进行配置时,也需要注意命令的总长度。
Tab键的使用
- 如果与之匹配的关键字唯一,则系统用此完整的关键字替代原输入并换行显示,光标距词尾空一格。例如:
输入不完整的关键字。
[~HUAWEI] info-
按下Tab键。
则系统用此完整的关键字替代原输入并换行显示,光标距词尾空一格。[~HUAWEI] info-center
- 如果与之匹配的关键字不唯一,反复按<Tab>键可循环显示所有以输入字符串开头的关键字,此时光标距词尾不空格。例如:
输入不完整的关键字。
[~HUAWEI] info-center log
按下Tab键。
系统首先显示所有匹配的关键字的前缀,本例中前缀是“log”。[~HUAWEI] info-center log-severity
继续按Tab键循环翻词,此时光标距词尾不空格。[~HUAWEI] info-center logbuffer
[~HUAWEI] info-center logfile
[~HUAWEI] info-center loghost
找到所需要的关键字后,停止按Tab键。
- 如果没有与之匹配的关键字,按Tab键后,换行显示,输入的关键字不变。例如:
输入错误的关键字。
[~HUAWEI] info-center loglog
按下Tab键。
[~HUAWEI] info-center loglog
系统换行显示,但输入的关键字loglog不变,而且光标距词尾不空格,说明无此关键字。
使用命令行在线帮助
用户在使用命令行时,可以使用在线帮助以获取实时帮助,从而无需记忆大量的复杂的命令。
在线帮助通过键入“?”来获取,在命令行输入过程中,用户可以随时键入“?”以获得在线帮助。命令行在线帮助可分为完全帮助和部分帮助。
完全帮助
当用户输入命令时,可以使用命令行的完全帮助获取全部关键字和参数的提示。下面给出几种完全帮助的实例供参考:
- 在任一命令视图下,键入“?”获取该命令视图下所有的命令及其简单描述。举例如下:
<HUAWEI> ? Current view commands: activate Activate locked user backup Backup information capture-packet Enable capturing packet cd Change current directory clear Clear operation clock Clock status and configuration information copy Copy from one file to another ...
- 键入一条命令的部分关键字,后接以空格分隔的“?”,如果该位置为关键字,则列出全部关键字及其简单描述。举例如下:
<HUAWEI> system-view [~HUAWEI] user-interface vty 0 4 [~HUAWEI-ui-vty0-4] authentication-mode ? aaa AAA authentication password Authentication through the password of a user terminal interface [~HUAWEI-ui-vty0-4] authentication-mode aaa ? | Matching output > Redirect the output to a file >> Redirect the output to a file in append mode <cr> [~HUAWEI-ui-vty0-4] authentication-mode aaa
其中“aaa”和“password”是关键字,“AAA authentication”和“Authentication through the password of a user terminal interface”是对关键字的描述。
“|”表示可以在命令中指定显示信息的过滤方式,详细介绍请参见过滤命令行显示信息。
“>”表示将命令的显示信息输出到指定的文件。如果目标文件已经存在,则覆盖该文件的原有内容。
“>>”表示将命令的显示信息追加到指定文件的末尾,原文件的内容仍保留。
“<cr>”表示该位置没有关键字或参数,直接键入回车即可执行。
- 键入一条命令的部分关键字,后接以空格分隔的“?”,如果该位置为参数,则列出有关的参数名和参数描述。举例如下:
<HUAWEI> system-view [~HUAWEI] ftp server timeout ? INTEGER<1-35791> The value of FTP timeout, the default value is 30 minutes [~HUAWEI] ftp server timeout 35 ? | Matching output > Redirect the output to a file >> Redirect the output to a file in append mode <cr> [~HUAWEI] ftp server timeout 35
其中,“INTEGER<1-35791>”是参数取值的说明,“The value of FTP timeout, the default value is 30 minutes”是对参数作用的简单描述。
部分帮助
当用户输入命令时,如果只记得此命令关键字的开头一个或几个字符,可以使用命令行的部分帮助获取以该字符串开头的所有关键字的提示。下面给出几种部分帮助的实例供参考:
键入一字符串,其后紧接“?”,列出以该字符串开头的所有关键字。举例如下:
<HUAWEI> d? debugging delete dir display <HUAWEI> d
键入一条命令,后接一字符串紧接“?”,列出命令以该字符串开头的所有关键字。举例如下:
<HUAWEI> display b? bfd bgp
- 输入命令的某个关键字的前几个字母,按下<tab>键,可以显示出完整的关键字,前提是这几个字母可以唯一标示出该关键字,否则,连续按下<tab>键,可出现不同的关键字,用户可以从中选择所需要的关键字。
以上获取的在线帮助的显示信息仅为示意,请以设备实际显示为准。
解读命令行的错误信息
用户键入的命令,如果通过语法检查,则正确执行,否则系统将会向用户报告错误信息。
常见错误信息参见表2-4。
英文错误信息 |
错误原因 |
---|---|
Error: Unrecognized command found at '^' position. |
没有查找到命令 |
没有查找到关键字 |
|
Error: Wrong parameter found at '^' position. |
参数类型错 |
参数值越界 |
|
Error: Incomplete command found at '^' position. |
输入命令不完整 |
Error: Too many parameters found at '^' position. |
输入参数太多 |
Error: Ambiguous command found at '^' position. |
输入命令不明确 |
使用undo命令行
在命令前加undo关键字,即为undo命令行。undo命令行一般用来恢复缺省情况、禁用某个功能或者删除某项配置。几乎每条配置命令都有对应的undo命令行。
下面给出使用undo命令行的示例供参考:
- 使用undo命令行恢复缺省情况
sysname命令是用来设置设备的主机名。举例如下:
<HUAWEI> system-view [~HUAWEI] sysname Server [*HUAWEI] commit [~Server] undo sysname [*Server] commit [~HUAWEI]
- 使用undo命令禁用某个功能
ftp server enable命令是用来开启设备的FTP服务器功能。举例如下:
<HUAWEI> system-view [~HUAWEI] ftp server enable Warning: FTP is not a secure protocol, and it is recommended to use SFTP. [*HUAWEI] commit [~HUAWEI] undo ftp server Info: Succeeded in closing the FTP server. [*HUAWEI] commit
- 使用undo命令删除某项设置
header命令是用来设置用户登录设备时终端上显示的标题信息。举例如下:
<HUAWEI> system-view [~HUAWEI] header login information "Hello,Welcome to Huawei!" [*HUAWEI] commit
退出设备后重新登录,在验证用户前,会出现“Hello,Welcome to Huawei!”,然后执行相应的undo header login命令:
Hello,Welcome to Huawei! Password: Info: The max number of VTY users is 21, and the number of current VTY users on line is 2. The current login time is 2012-06-06 16:31:24. <HUAWEI> system-view [~HUAWEI] undo header login [*HUAWEI] commit
再次退出设备后重新登录,在验证用户前,则不会出现任何标题信息:
Password: Info: The max number of VTY users is 21, and the number of current VTY users on line is 2. The current login time is 2012-06-06 16:45:06. <HUAWEI>
以上示例中设备的显示信息仅为示意,请以设备实际显示为准。
查看历史命令
设备能够自动保存用户键入的历史命令。当用户需要输入之前已经执行过的命令时,可以调用设备保存的历史命令。
缺省情况下,为每个登录用户保存10条历史命令。可以通过history-command max-size size-value命令在相应的用户界面视图下重新设置保存历史命令的条数,最大设置为256。
不推荐用户将此值设置过大,因为可能会花费较长时间才查看到所需要的历史命令,反而影响配置效率。
对历史命令的操作如表2-5所示。
操作 |
命令或功能键 |
结果 |
---|---|---|
显示历史命令 |
display history-command [ all-users ] |
|
访问上一条历史命令 |
上光标键或者<Ctrl+P> |
如果还有更早的历史命令,则取出上一条历史命令,否则响铃警告。 |
访问下一条历史命令 |
下光标键或者<Ctrl+N> |
如果还有更新的历史命令,则取出下一条历史命令,否则显示为空,响铃警告。 |
对于Windows 9X的超级终端,↑光标键无效,这是由于Windows 9X的超级终端对这个键作了不同解释,这时可以用组合键<Ctrl+P>代替↑光标键达到同样目的。
在使用历史命令功能时,需要注意:
保存的历史命令与用户输入的命令格式相同,如果用户使用了命令的不完整形式,保存的历史命令也是不完整形式。
如果用户多次执行同一条命令,则历史命令中只保留最近的一次。但如果执行时输入的形式不同,将作为不同的命令对待。
例如:多次执行display current-configuration命令,历史命令中只保存一条。如果执行display current-configuration和dis curr,将保存为两条历史命令。
当前用户的历史命令可以在用户视图下通过reset history-command命令进行清除,清除后则无法显示和访问之前执行过的历史命令。
使用命令行的快捷键
用户可以使用设备中的快捷键,完成对命令的快速输入,从而简化操作。
自定义快捷键:共有4个,包括<Ctrl+G>、<Ctrl+L>、<Ctrl+O>和<Ctrl+U>。用户可以根据自己的需要将这4个快捷键与任意命令进行关联,当使用快捷键时,系统自动执行它所对应的命令。
系统快捷键:是系统中固定的。这种快捷键不由用户定义,代表固定功能。常用的系统快捷键如表2-6所示。
快捷键的功能可能受用户所用的终端影响,例如用户终端本身自定义的快捷键与设备系统中的快捷键功能发生冲突,此时如果用户键入快捷键将会被终端程序截获而不能执行它所对应的命令行。
自定义快捷键
- 执行命令system-view,进入系统视图。
- 执行命令hotkey { CTRL_G | CTRL_L | CTRL_O | CTRL_U } command-text,配置快捷键对应的命令。
- 执行命令commit,提交配置。
<Ctrl+G>:对应命令display current-configuration
<Ctrl+L>:对应命令display ip routing-table
<Ctrl+O>:对应命令undo debugging all
<Ctrl+U>:默认值为空。
定义快捷键时,对于由多个命令字组成的命令,即命令中间有空格,需要使用双引号标识,例如:hotkey ctrl_l "display tcp status"。对于单个命令字的命令,即命令中没有空格,不需要使用双引号。
可通过display hotkey命令查看系统快捷键的使用情况,包括已定义、未定义以及系统快捷键。
可通过undo hotkey命令恢复系统的快捷键缺省值。
快捷键的执行与命令一样,也会将命令原形记录在命令缓冲区和日志中以备问题定位和查询。
定义的快捷键对所有的登录用户均有效,但是如果用户没有快捷键所定义命令的使用权限,则执行此快捷键后会提示错误。
系统快捷键
功能键 |
功能 |
---|---|
<Ctrl+A> |
将光标移动到当前行的开头。 |
<Ctrl+B> |
将光标向左移动一个字符。 |
<Ctrl+C> |
停止当前正在执行的功能。 |
<Ctrl+D> |
删除当前光标所在位置的字符。 |
<Ctrl+E> |
将光标移动到当前行的末尾。 |
<Ctrl+F> |
将光标向右移动一个字符。 |
<Ctrl+H> |
删除光标左侧的一个字符。 |
<Ctrl+K> |
在连接建立阶段终止呼出的连接。 |
<Ctrl+N> |
显示历史命令缓冲区中的后一条命令。 |
<Ctrl+P> |
显示历史命令缓冲区中的前一条命令。 |
<Ctrl+R> |
重新显示当前行信息。 |
<Ctrl+T> |
终止呼出的连接。 |
<Ctrl+V> |
粘贴剪贴板的内容。 |
<Ctrl+W> |
删除光标左侧的一个字符串(字)。 |
<Ctrl+X> |
删除光标左侧所有的字符。 |
<Ctrl+Y> |
删除光标所在位置及其右侧所有的字符。 |
<Ctrl+Z> |
返回到用户视图。 |
<Ctrl+]> |
终止呼入的连接或重定向连接。 |
<Esc+B> |
将光标向左移动一个字符串(字)。 |
<Esc+D> |
删除光标右侧的一个字符串(字)。 |
<Esc+F> |
将光标向右移动一个字符串(字)。 |
<Esc+N> |
将光标向下移动一行。 |
<Esc+P> |
将光标向上移动一行。 |
<Esc+<> |
将光标所在位置指定为剪贴板的开始位置。 |
<Esc+>> |
将光标所在位置指定为剪贴板的结束位置。 |
设置命令行别名
命令行别名功能可以将设备中的命令行设置为用户自定义的字符串,方便用户使用。
背景信息
别名命令可以将命令或命令关键字配置为其他字符串作为原命令行的别名。用户需要输入该命令或命令关键字时,直接输入别名字符串即可,方便用户使用习惯。例如,用户可以将命令关键字display的别名定义为show。在使用时,可以直接使用别名show代替命令关键字display。
别名命令在为命令或命令关键字配置别名的同时,还可以改变用户输入参数的顺序。例如,在用户配置带参数的别名alias showif parameter $ifnum $iftype command "display interface $iftype $ifnum"后,用户可以输入字符串showif 7 vlanif替换原命令字符串display interface vlanif 7。
用户可以通过命令terminal command alias打开当前会话的别名特性开关,也可以通过命令undo terminal command alias关闭当前会话的别名特性开关。关闭当前会话的别名特性,仅影响当前会话的别名配置功能,并不清除系统中存在的别名配置信息。当继续执行打开当前会话的别名特性开关后,配置文件中的别名配置信息继续生效。用户可以通过命令display terminal command alias查看命令别名特性的开关状态。