01-CLI配置
本章节下载: 01-CLI配置 (264.44 KB)
目 录
CLI(Command Line Interface,命令行接口)是用户与设备之间的文本类指令交互界面。用户键入文本类命令,通过输入回车键提交设备执行相关命令,从而对设备进行配置和管理,并可以通过查看输出信息确认配置结果。
设备支持多种方式进入命令行接口界面,比如通过Console口登录设备后进入命令行接口界面、通过Telnet方式登录设备后进入命令行接口界面、通过SSH方式登录设备后进入命令行接口界面等,各方式的详细描述请参见“基础配置指导”中的“登录设备”。设备的命令行接口界面如图1-1所示。
设备提供了丰富的功能,不同的功能对应不同的配置和查询命令。为便于您使用这些命令,设备将按功能对命令进行分类组织。功能分类与命令视图对应,当要配置某功能的某条命令时,需要先进入这条命令所在的视图。每个视图都有唯一的、含义清晰的提示符,比如提示符[Sysname-valn100]表示当前的命令视图是VLAN视图,VLAN的编号是100,在该视图下可对VLAN100的属性进行配置。
命令视图采用分层结构,如图1-2所示。
· 用户登录设备后,直接进入用户视图。此时屏幕显示的提示符是:<设备名>。用户视图下可执行的操作主要包括查看操作、调试操作、文件管理操作、设置系统时间、重启设备、FTP和Telnet操作等。
· 从用户视图可以进入系统视图,此时屏幕显示的提示符是:[设备名]。系统视图下能对设备运行参数进行配置,比如配置欢迎信息、配置快捷键等。
· 在系统视图下键入不同的命令,可以进入相应的功能视图,完成各种功能的配置,比如:进入接口视图配置接口参数、进入VLAN视图给VLAN添加端口、进入用户界面视图配置登录用户的属性、创建本地用户并进入本地用户视图配置本地用户的属性等。
· “设备名”是设备的名称,可以通过在系统视图下执行sysname命令来配置。关于sysname命令的详细介绍请参见“基础配置命令参考”中的“设备管理”。
· 想要了解某命令视图下支持哪些命令,请在命令视图提示符下键入<?>。
· 功能视图下可能还包含子视图,请参见各功能模块的详细描述。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
该命令在用户视图下执行 |
当前视图下的功能配置完成,需要退出当前视图时,可以进行如下操作。
表1-2 返回上一级视图
操作 |
命令 |
说明 |
从当前视图返回上一级视图 |
quit |
必选 该命令可在任意视图下执行 |
· 用户视图下执行quit命令会中断用户终端与设备之间的当前连接。
· 公共密钥视图下请使用peer-public-key end命令返回系统视图。
本特性为用户提供了一种从任意的非用户视图返回到用户视图的快捷方式,而不需要多次执行quit命令。用户也可以直接按组合键<Ctrl+Z>从当前视图退回到用户视图。
表1-3 退回用户视图
操作 |
命令 |
说明 |
返回用户视图 |
return |
必选 该命令可在任意的非用户视图下执行 |
在命令行输入过程中,您可以随时键入<?>以获得详尽的在线帮助。下面给出常见的在线帮助应用场景,供您参考使用。
(1) 在任意视图下,键入<?>即可获取该视图下您可以使用的所有命令及其简单描述。例如:
<Sysname> ?
User view commands:
archive Specify archive settings
backup Backup next startup-configuration file to TFTP server
……略……
(2) 键入一条命令的关键字,后接以空格分隔的<?>。
如果<?>位置为关键字,则列出全部关键字及其简单描述。例如:
<Sysname> terminal ?
logging Send log information to terminal
monitor Send information output to current terminal
如果<?>位置为参数,则列出有关的参数描述。例如:
<Sysname> system-view
[Sysname] interface vlan-interface ?
<1-4094> VLAN interface number
[Sysname] interface vlan-interface 1 ?
<cr>
其中,<1-4094>表示该参数的取值范围为1~4094;<cr>表示命令行当前位置无参数,直接键入回车即可执行。
(3) 键入命令的不完整关键字,其后紧接<?>,显示以该字符串开头的所有命令关键字。例如:
<Sysname> f?
fdisk
format
free
ftp
<Sysname> display ftp?
ftp
ftp-server
ftp-user
命令的undo形式一般用来恢复缺省情况、禁用某个功能或者删除某项设置。
在命令前加undo关键字,即为命令的undo形式,大部分配置命令都有对应的undo形式。
例如,info-center enable命令用来开启信息中心;undo info-center enable命令用来关闭信息中心。
编辑命令行时,系统支持如表1-4所示的单个按键和如表1-7所示的组合键。
按键 |
功能 |
普通按键 |
若编辑缓冲区未满,则插入到当前光标位置,并向右移动光标 |
退格键<Backspace> |
删除光标位置的前一个字符,光标前移 |
左光标键←或<Ctrl+B> |
光标向左移动一个字符位置 |
右光标键→或<Ctrl+F> |
光标向右移动一个字符位置 |
<Tab>键 |
输入不完整的关键字后按下<Tab>键,系统自动补全关键字: · 如果与之匹配的关键字唯一,则系统用此完整的关键字替代原输入并换行显示 · 如果与之匹配的关键字不唯一,则反复按<Tab>键,系统会按字母序循环显示所有以输入字符串开头的关键字 · 如果没有与之匹配的关键字,系统会不作任何修改,重新换行显示原输入 |
编辑命令行时,如果命令行中的参数是STRING类型的,则设备对该参数的基本要求为:除“?”、“"”、“\”、空格之外的可见字符,可见字符对应的ASCII码区间为32~126。需要注意的是,业务模块可能对STRING类型参数有更多的输入限制,详情请见命令的提示信息以及命令手册中的参数描述。比如:
<Sysname> system-view
[Sysname] domain ?
STRING<1-24> Domain name
以上举例表明,在设备创建一个安全域时,域名为STRING类型的参数,最多可以包含24个字符,每个字符可以是除“?”、“"”、“\”、空格、“|”、“/”、“:”、“*”、“<”、“>”、“@”之外的任意可见字符,比如,将域名定义为forVPN1。
设备支持不完整关键字输入,即在当前视图下,当输入的字符足够匹配唯一的关键字时,可以不必输入完整的关键字。该功能提供了一种快捷的输入方式,有助于提高操作效率。
比如用户视图下以s开头的命令有save、system-view等。
· 如果要输入system-view,可以直接输入sy(不能只输入s,因为只输入s时,匹配到的关键字不唯一)。
· 如果要输入save,可以直接输入sa。
您可以按<Tab>键由系统自动补全关键字的全部字符,以确认系统的选择是否为所需输入的关键字。
使用本特性,您可以给设备当前支持的命令行的第一个关键字或者undo命令的第二关键字取一个您惯用的关键字作为别名。比如将display的别名设置为show,这样在设备上执行display A命令时可以输入display A,也可以输入show A。
使用本特性后:
· 当查看当前配置信息或保存配置信息时,用户成功执行的带别名的命令将以系统原始的命令形式被显示或存储,而不会以别名的形式。
· 当用户输入字符与用户定义的别名以及现有某关键字同时部分匹配时,则优先匹配别名,如想输入现有关键字对应的命令则需要完整输入该关键字。当用户输入字符与某关键字完全匹配,而与别名部分匹配时,则优先匹配关键字,如想输入别名对应的命令则需要完整输入该别名。如果用户输入的字符串与多个别名部分匹配,则输出歧义匹配信息。
· 当用户对别名关键字使用<Tab>键时,将联想出所对应的原始关键字。
表1-5 配置命令关键字的别名
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
使能命令关键字别名功能 |
command-alias enable |
必选 缺省情况下,命令关键字别名功能处于关闭状态 |
给指定的命令关键字配置别名 |
command-alias mapping cmdkey alias |
必选 缺省情况下,命令行没有配置别名 配置该命令时,输入的cmdkey参数必须是当前设备支持的命令行第一个关键字或者undo命令的第二关键字的完整形式 |
(可选)显示命令关键字别名功能的相关配置 |
display command-alias |
该命令可在任意视图下执行 |
为便于用户对常用命令进行快捷操作,系统提供了五个快捷键供用户自定义。只要用户按下某个快捷键,系统即可执行对应的命令。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置命令行的快捷键 |
hotkey { CTRL_G | CTRL_L | CTRL_O | CTRL_T | CTRL_U } command |
可选 缺省情况请参见表下方的说明 |
显示系统中快捷键的分配信息 |
display hotkey |
可选 可在任意视图下执行 系统保留的快捷键请参见表1-7,这些快捷键不能通过命令行配置 |
缺省情况下:
· <Ctrl+G>对应命令display current-configuration(显示当前配置)。
· <Ctrl+L>对应命令display ip routing-table(显示IPv4路由表信息)。
· <Ctrl+O>对应命令undo debugging all(关闭设备支持的所有功能项的调试开关)。
· <Ctrl+T>没有关联任何命令行。
· <Ctrl+U>没有关联任何命令行。
快捷键 |
功能 |
<Ctrl+A> |
将光标移动到当前行的开头 |
<Ctrl+B> |
将光标向左移动一个字符 |
<Ctrl+C> |
停止当前正在执行的功能 |
<Ctrl+D> |
删除当前光标所在位置的字符 |
<Ctrl+E> |
将光标移动到当前行的末尾 |
<Ctrl+F> |
将光标向右移动一个字符 |
<Ctrl+H> |
删除光标左侧的一个字符 |
<Ctrl+K> |
终止呼出的连接 |
<Ctrl+R> |
重新显示当前行信息 |
<Ctrl+V> |
粘贴剪贴板的内容 |
<Ctrl+W> |
删除光标左侧连续字符串内的所有字符 |
<Ctrl+X> |
删除光标左侧所有的字符 |
<Ctrl+Y> |
删除光标右侧所有的字符 |
<Ctrl+Z> |
退回到用户视图 |
<Ctrl+]> |
终止当前连接 |
<Esc+B> |
将光标移动到左侧连续字符串的首字符处 |
<Esc+D> |
删除光标所在位置及其右侧连续字符串内的所有字符 |
<Esc+F> |
将光标向右移到下一个连续字符串之前 |
<Esc+N> |
将光标向下移动一行(键入回车前有效) |
<Esc+P> |
将光标向上移动一行(键入回车前有效) |
<Esc+<> |
将光标所在位置指定为剪贴板的开始位置 |
<Esc+>> |
将光标所在位置指定为剪贴板的结束位置 |
以上快捷键为设备所定义,当用户使用终端软件与设备进行交互时,这些快捷键可能在终端软件中被定义为其它指令。此时,快捷键的操作优先遵从终端软件的定义,而不会对设备生效。
当您在未完成输入操作却被大量的系统信息打断时,开启此功能可以回显您已经输入而未提交执行的信息,方便您继续完成未输入的内容。
表1-8 配置命令行输入回显功能
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
打开命令行输入回显功能 |
info-center synchronous |
必选 缺省情况下,命令行输入回显功能处于关闭状态 |
info-center synchronous命令的详细介绍请参见“网络管理和监控命令参考”中的“信息中心”。
您所有键入的命令,如果通过设备的语法检查,则正确执行,否则向您报告错误信息。
英文错误信息 |
错误原因 |
% Unrecognized command found at '^' position. |
在符号'^'指示位置的命令无法解析 |
% Incomplete command found at '^' position. |
在符号'^'指示位置的命令不完整 |
% Ambiguous command found at '^' position. |
在符号'^'指示位置的参数不明确,存在二义性 |
Too many parameters. |
输入参数太多 |
% Wrong parameter found at '^' position. |
在符号'^'指示位置的参数错误 |
命令行接口会将您最近使用的历史命令自动保存到历史命令缓存区,您可以随时了解最近执行的命令,以及调用保存的历史命令来进行重复输入。
操作 |
命令或按键 |
结果 |
显示历史命令缓存区内保存的当前用户界面下的命令 |
display history-command |
显示用户输入的历史命令 |
访问上一条历史命令 |
上光标键↑ |
如果还有更早的历史命令,则显示上一条历史命令 |
访问下一条历史命令 |
下光标键↓ |
如果还有更晚的历史命令,则显示下一条历史命令 |
用光标键对历史命令进行访问,在Windows 200X及XP的超级终端和Telnet下均有效,但对于Windows 9X超级终端,↑、↓光标键会无效,这是由于Windows 9X的超级终端对这两个键作了不同解释所致。
下面是关于历史命令的一些详细说明,您可以做进一步了解:
· 设备保存的历史命令与用户输入的命令格式相同,如果您使用了命令的不完整形式,保存的历史命令也是不完整形式;如果您使用了命令关键字的别名形式,保存的历史命令也是别名形式。
· 如果您连续多次执行同一条命令,设备的历史命令中只保留一次。但如果执行时输入的形式不同,将作为不同的命令对待。例如:多次执行display current-configuration命令,设备只保存一条历史命令;如果执行display current-configuration命令和它的不完整形式display cu,设备将保存为两条历史命令。
表1-11 配置历史命令缓冲区的大小
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入用户界面视图 |
user-interface { first-num1 [ last-num1 ] | { aux | vty } first-num2 [ last-num2 ] } |
- |
设置历史命令缓冲区可存放的历史命令的条数 |
history-command max-size size-value |
可选 缺省情况下,历史命令缓冲区可存放10条历史命令 如果将size-value设置为0,则系统不会缓存历史命令 |
user-interface和history-command max-size命令的详细介绍请参见“基础配置命令参考”中的“登录设备”。
当显示信息较多超过一屏时,系统会自动将信息分屏显示,并在屏间自动暂停,方便您查看显示信息。
这时您可以使用表1-12所示的按键来选择下一步操作。
按键 |
功能 |
空格键 |
继续显示下一屏信息 |
回车键 |
继续显示下一行信息 |
<Ctrl+C> |
停止显示,退回到命令行编辑状态 |
<PageUp> |
显示上一页信息 |
<PageDown> |
显示下一页信息 |
缺省情况下,一屏显示24行信息,您也可以使用screen-length命令设置用户界面下一屏显示的行数(screen-length命令的详细介绍请参见“基础配置命令参考”中的“登录设备”)。
您可以通过以下配置禁用当前登录用户的分屏显示功能。禁止分屏显示时,会一次显示所有信息,如果信息较多,则会连续刷屏,不方便立即查看。
表1-13 禁止分屏显示
操作 |
命令 |
说明 |
禁用当前用户的分屏显示功能 |
screen-length disable |
必选 缺省情况下,用户登录后将遵循用户界面下的screen-length设置。screen-length设置的缺省情况为:允许分屏显示,下一屏显示24行数据 该操作在用户视图下执行,仅对当前用户本次登录有效,用户重登录后将恢复到缺省情况 |
在用display命令查看显示信息时,用户可以用by-linenum参数在显示信息的同时显示信息行号,方便定位显示信息(如果不带by-linenum参数,则不会显示行号)。
操作 |
命令 |
显示display命令执行结果(显示信息带行号) |
display command | by-linenum |
<Sysname> display vlan 999 | by-linenum
1: VLAN ID: 999
2: VLAN type: Static
3: Route interface: Configured
4: IP address: 192.168.2.1
5: Subnet mask: 255.255.255.0
6: Description: For LAN Access
7: Name: VLAN 0999
8: Tagged ports: None
9: Untagged ports:
10: Ten-GigabitEthernet1/0/1
在执行display命令查看显示信息时,您可以使用正则表达式来过滤显示信息,以便快速的找到自己关注的信息。
在命令行中通过输入| { begin | exclude | include } regular-expression参数的方式来过滤显示。begin、exclude和include关键字的含义如下:
· begin:显示特定行及其以后的所有行,该特定行必须包含指定正则表达式。
· exclude:显示不包含指定正则表达式的所有行。
· include:只显示包含指定正则表达式的所有行。
正则表达式(regular-expression)为1~256个字符的字符串,区分大小写,它还支持多种特殊字符,特殊字符的匹配规则如表1-14所示。
特殊字符 |
含义 |
举例 |
^ |
匹配以指定字符开始的行 |
^user只能匹配以user开始的行,不能匹配以Auser开始的行 |
$ |
匹配以指定字符结束的行 |
user$只能匹配以user结尾的行,不能匹配以userA结尾的行 |
. |
句点,通配符,匹配任何一个字符,包括单个字符、特殊字符和空格等 |
.s可以匹配as和bs等 |
* |
星号,匹配星号前面的字符或字符组零次或多次 |
· zo*可以匹配z以及zoo · (zo)*可以匹配zo以及zozo |
+ |
加号,匹配加号前面的字符或字符组一次或多次 |
zo+可以匹配zo以及zoo,但不能匹配z |
| |
竖线,匹配|左边的整个字符串或者右边的整个字符串 |
def|int只能匹配包含def或者int的字符串 |
- |
连接符,用于连接两个数值或字母(小的在前,大的在后),与“[ ]”符号连用表示一个范围 |
从1到9表示为[1-9](包括1和9),从a到h表示为[a-h](包括a和h) |
[ ] |
表示字符选择范围,将以选择范围内的单个字符为条件进行匹配,只要字符串里包含该范围的某个字符就能匹配到 |
· [16A]表示可以匹配到的字符串只需要包含1、6或A中任意一个 · [1-36A] 表示可以匹配到的字符串只需要包含1、2、3、6或A中任意一个(-为连接符) 如果]需要作为普通字符出现在[ ]内时,必须把]写在[ ]的最前面,形如[]string],才能匹配到]。[没有这样的限制 |
[^] |
表示选择范围外的字符,将以单个字符为条件进行匹配,只要字符串里包含该范围外的某个字符就能匹配到 |
[^16A]表示可匹配的字符串只需要包含1、6和A之外的任意字符,该字符串也可以包含字符1、6或A,但不能只包含这三个字符。比如[^16A]可以匹配abc、m16,不能匹配1、16、16A |
\< |
匹配以指定字符串开头的字符串 |
\<do可以匹配单词domain,还可以匹配字符串doa |
\> |
匹配以指定字符串结尾的字符串 |
do\>可以匹配单词undo,还可以匹配字符串abcdo |
\b |
\b等效于[^A-Za-z0-9_],是除了数字、字母和下划线外的任意字符 |
\ba可以匹配-a,-为characte1,a为character2,但是不能匹配2a和ba等 |
\w |
[A-Za-z0-9_],是数字、字母或下划线 |
v\w能匹配vlan,v为characte1,l为character2,v\w还能匹配service,i为character2 |
\ |
转义操作符,\后紧跟本表列的单个特殊字符时,将去除特殊字符的特定含义 |
· \\可以匹配包含\的字符串 · \^可以匹配包含^的字符串 · \\b可以匹配包含\b的字符串 |
如果要求匹配带空格的字符串,请在字符串的首尾添加英文格式的双引号。比如要匹配a b,则正则表达式应设置为”a b”。
(1) begin参数应用举例
# 查看当前生效的配置中,从包含“user-interface”字符串的行开始到最后一行的配置信息(该显示信息与设备型号以及用户的当前配置有关)。
<Sysname> display current-configuration | begin user-interface
user-interface aux 0
user-role network-admin
#
user-interface vty 0 15
authentication-mode none
user-role network-operator
#
return
(2) exclude参数应用举例
# 查看路由表中的非直连路由(该显示信息与设备型号以及用户的当前配置有关)。
<Sysname> display ip routing-table | exclude Direct
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost NextHop Interface
2.2.2.0/24 OSPF 10 2 1.1.2.2 Vlan2
(3) include参数应用举例
# 查看VLAN相关配置(该显示信息与设备型号以及用户的当前配置有关)。
<Sysname> display current-configuration | include vlan
vlan 1
vlan 999
port access vlan 999
display命令显示的内容通常是统计信息、功能是否使能以及功能的相关参数配置,这些信息在设备运行过程中会随着时间或者用户的配置而改变。使用本命令可以将当前显示信息保存到指定文件,方便随时比对和查看。有两种方式将显示信息保存到文件中:
· 将显示信息独立保存到指定文件:使用该方式时,该文件只包含该显示信息的内容。
· 将显示信息以追加方式保存到已有文件:使用该方式时,该命令的显示信息会追加在指定文件的尾部保存,该文件能包含多条显示信息的内容。
表1-15 将显示信息保存到指定文件
操作 |
命令 |
将显示信息独立保存到指定文件 |
display command > filename |
将显示信息以追加方式保存到已有文件 |
display command >> filename |
# 将display vlan 1的显示信息保存到指定文件vlan.txt。
<Sysname> display vlan 1 > vlan.txt
<Sysname>
# 查看vlan.txt的内容,验证display >命令的执行效果。
<Sysname> more vlan.txt
VLAN ID: 1
VLAN type: Static
Route interface: Not configured
Description: VLAN 0001
Name: VLAN 0001
Tagged ports: None
Untagged ports:
Ten-GigabitEthernet1/0/2
# 将display vlan 999的显示信息以追加方式保存到指定文件vlan.txt。
<Sysname> display vlan 999 >> vlan.txt
<Sysname>
# 查看vlan.txt的内容,验证display >>命令的执行效果。
<Sysname> more vlan.txt
VLAN ID: 1
VLAN type: Static
Route interface: Not configured
Description: VLAN 0001
Name: VLAN 0001
Tagged ports: None
Untagged ports:
Ten-GigabitEthernet1/0/2
VLAN ID: 999
VLAN type: Static
Route interface: Configured
IP address: 192.168.2.1
Subnet mask: 255.255.255.0
Description: For LAN Access
Name: VLAN 0999
Tagged ports: None
Untagged ports:
Ten-GigabitEthernet1/0/1
执行display命令时,通过选择参数,可以同时实现“1.8.2 查看带行号的显示信息”、“1.8.3 使用正则表达式过滤显示”和“1.8.4 将显示信息保存到指定文件”。
表1-16 便捷的查看显示信息
操作 |
命令 |
便捷的查看显示信息 |
display command [ | [ by-linenum ] { begin | exclude | include } regular-expression ] [ > filename | >> filename ] |
例如:
# 按行号将当前配置保存到文件test. txt。
<Sysname> display current-configuration | by-linenum > test.txt
# 将SNMP的相关配置以追加方式保存到文件test. txt。
<Sysname> display current-configuration | include snmp >> test.txt
在设备上,您可以随时输入save命令,将当前配置保存到配置文件中。这样在设备重启后,所有保存的配置不会丢失。配置保存不涉及一次性执行命令,比如:display类显示命令(执行后即显示相关信息),reset类清除命令(执行后即清除相关信息)。这类命令执行一次性操作要求,不会进行配置保存。save命令的详细介绍请参见“基础配置命令参考”中的“配置文件管理”。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!