从华为的设备上敲完一套配置,转过头在思科上执行同样的操作,结果命令不对,连视图都进错,这种情况我这些年见过太多次了。不是技术不行,是三家设备的"系统环境"和"基本命令"之间的差异实在太大。这篇文章就围绕"华为思科华三基本命令对比"这个主题,把三套系统的底层逻辑、视图切换、日常配置、排障命令全部对照着梳理一遍。不管你是刚入行接触第一台交换机,还是在多个厂商设备之间长期切换的运维,这篇应该都能帮你省下不少翻手册的时间。
我不打算写成那种"把三本命令手册拼在一起"的说明书,而是用真实配置场景来拆解:同一件事,华为怎么敲,思科怎么敲,华三又怎么敲,以及它们背后为什么这么设计。理解了这个"为什么",你就不容易背混。
1. 三套系统环境的底层逻辑:VRP、IOS、Comware谁跟谁更像
1.1 三套系统的身世
华为网络设备跑的操作系统叫VRP(Versatile Routing Platform),思科是IOS(Internetwork Operating System),华三则是Comware。严格说,这三者都是设备操作系统,不是单纯的命令行工具,但它们各自决定了设备怎么接收命令、怎么解析语法、怎么组织和保存配置。
这就像同样是做厨师的,中餐师傅、法餐师傅和日料师傅,用的刀不一样,切菜姿势也不一样,但最后都要把菜做好。网络设备也一样,华为、思科、华三的核心功能都是二层交换、三层路由、安全策略,但"操作姿势"不同。
从血缘上讲,华三的Comware和华为的VRP在某些命令上确实有相似之处,毕竟两家在历史上存在同源关系。但这不代表可以完全混用,我后面会专门讲华三和华为之间那些"看着一样、实际不一样"的命令细节。
思科IOS则是另一套逻辑,它的命令设计更偏向"口语化",比如进入特权模式要敲enable进入全局配置模式要敲configure terminal,都是完整的英文单词或者准英文短语。华为和华三的命令更多是"动作+对象"的结构,比如display interface、display vlan,看起来非常像在查一个数据库。
1.2 命令设计理念的差异
先看一个最直观的差异:查看命令。
- 华为/华三用 display,比如
display interface brief - 思科用 show,比如
show ip interface brief
在华为上敲 show 是无效的,在思科上敲 display 同样无效。这是新手最容易犯的第一个错。
再看"删除/撤销"类命令:
- 华为/华三用一个统一的否定前缀 undo,比如
undo shutdown - 思科用 no,比如
no shutdown
这背后是一个设计理念的问题:华为和华三系统里,每条配置几乎都对应着一条undo命令,相当于"配置的逆操作";而思科则是用no去否定某条配置,逻辑也很清晰,但命令的书写规则更分散。
我说句实话,如果你这辈子只接触其中一家设备,那这些差异只是习惯问题,不构成障碍。但如果你和我一样,日常工作要在华为、思科、华三之间来回切换,那就必须建立一套"翻译"思维:看到display立刻想到show,看到undo立刻想到no。这套翻译能力,比背几百条命令都有用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 视图模式与提示符对照:别在错误的位置敲命令
2.1 三种典型的提示符形态
很多初学者在配置设备时报错,不是因为命令拼错了,而是因为在错误的视图下敲了命令。我把它叫"时空错乱"。三家的视图分层大体相似,但名字完全不同。
| 操作层级 | 华为/华三提示符示例 | 思科提示符示例 | 说明 |
|---|---|---|---|
| 登录后初始视图 | <Huawei> |
Switch> |
类似"只读模式",只能看,不能改 |
| 管理/特权视图 | 华为没有独立的特权视图 | Switch# |
思科开启特权模式后,命令权限更高 |
| 全局配置视图 | [Huawei] |
Switch(config)# |
配置设备全局参数 |
| 子视图 | [Huawei-GigabitEthernet0/0/1] |
Switch(config-if)# |
配置接口、协议等 |
华为和华三的设计逻辑是:用户视图 < > 负责查看,系统视图 [ ] 负责配置,进入接口后就变成 [Huawei-GigabitEthernet0/0/1],括号里会带上你当前所在的层级。这种设计的优点是状态透明,不用猜自己在哪。
思科的视图逻辑是:用户执行模式 > -> 特权执行模式 # -> 全局配置模式 (config)# -> 接口配置模式 (config-if)#。每进一个视图,提示符后面就会多一段后缀,看起来是层层嵌套的,这也有它的好处:层级感更清晰。
2.2 进入和退出视图的命令差异
进入配置视图:
- 华为:
system-view(简写sys) - 华三:
system-view(简写sys) - 思科:
configure terminal(简写conf t)
退出视图:
- 华为/华三:
quit返回上级,return直接回到用户视图 - 思科:
exit返回上一级,end或者Ctrl+Z直接回到特权模式
这里有个很实际的坑:在思科接口视图下敲 quit,会直接退出到全局配置模式吗?不会,思科用的是 exit,quit 在IOS下根本不存在,或者在部分版本里会直接断掉SSH会话。而在华为设备上,quit 是标准写法。我见过不止一个同事从思科切到华为以后,敲了十分钟的 exit 发现自己还在系统视图里——因为华为支持 quit,不支持 exit 作为回退命令。
还有一个容易忽略的细节:华为和华三在用户视图下能执行部分查看命令,但要想清空配置、重启设备,通常必须进入系统视图或者有更高的权限;而思科在特权模式 # 下才能执行 reload、erase 这类高危命令。这其实是一种权限分层设计,防止你在看设备状态的时候,一个手滑把设备重启了。
3. 第一条命令的区别:查看、保存、清空、重启的对应关系
拿到一台新设备,或者接手一台别人配置过的设备,你第一件事肯定是搞清楚"这台设备现在是什么状态"。这时候需要的就是一组查看类命令。
3.1 查看设备信息的命令对照
| 用途 | 华为/华三 | 思科 |
|---|---|---|
| 查看版本 | display version |
show version |
| 查看当前配置 | display current-configuration |
show running-config |
| 查看启动配置 | display saved-configuration |
show startup-config |
| 查看接口状态 | display interface brief |
show ip interface brief |
| 查看CPU使用率 | display cpu-usage |
show processes cpu |
| 查看内存使用率 | display memory |
show memory |
有个细节:华为和华三的 display version 输出内容非常丰富,会显示设备型号、软件版本、BootROM版本、运行时长,连上次启动的原因都会列出来。思科的 show version 也类似,但它还会显示设备的序列号和配置寄存器值,这个寄存器值在密码恢复时特别有用。不过密码恢复这个话题涉及比较敏感的运维操作,这里只提一句,不展开。
3.2 保存配置的正确姿势
配置改完之后,如果不保存,设备一重启就全没了。这个道理大家都懂,但三家的保存命令差异很大。
- 华为:在任意视图下执行
save,系统会提示确认,回车确认后保存 - 华三:执行
save,也会询问是否保存,如果想跳过确认可以直接用save force - 思科:执行
write memory(简写wr)或者copy running-config startup-config
还有一个判断技巧:思科设备的 wr 保存后不会输出太多内容,只简单显示一行类似Building configuration...的信息;华为和华三的 save 会明确提示你保存成功,并且显示配置文件的名称。如果你在华为设备上敲 write,它不一定认,至少大部分VRP版本里 write 不是标准的保存命令,只能用来保存配置到文件,具体要看型号和版本。
这里有一个很容易被忽略的坑:思科有"运行配置"和"启动配置"两个概念,show running-config 是当前正在生效的配置,show startup-config 是下次开机加载的配置。华为和华三虽然也有"当前配置"和"保存配置"的概念,但在日常使用中,大家更习惯说"display current-configuration就是看当前跑的配置,save一下就是让它下次开机还在"。
3.3 清空配置和重启设备
恢复出厂、清空配置,是二手设备上线前最常用的操作。
- 华为:
reset saved-configuration,然后执行reboot - 华三:
reset saved-configuration(有的版本是reset saved-configuration),然后reboot - 思科:
erase startup-config,然后reload
这里必须提醒一句:华为的 reset saved-configuration 在很多版本里不会直接提示确认,而是问你要不要删除文件,一定要看清楚再回车。思科的 erase startup-config 也一样,执行后设备并不会立刻重启,需要再输入 reload 才会加载空配置启动。
我在实际工作中遇到的最惊险的一次,是有人在华为设备上误敲了 reset saved-configuration,然后又顺手按了个Y,之后设备重启,整个配置回厂。幸好那台设备是测试机,如果是在生产环境,后果不堪设想。所以这三个公司的"清空"命令,我建议你全部用一种态度对待:敲之前先深吸一口气,确认三次。
4. 接口配置命令对比:从三台设备上配置同一个IP开始
接口配置是所有网络配置的基础。我通常跟新人说,只要你在一台设备上学会了配置接口IP,再学第二台、第三台设备时,只需要对比"接口怎么进、IP怎么写、怎么让它不shutdown"这三个点就够用了。
4.1 接口命名规则差异
先说命名,这个最容易迷惑人。
- 华为:接口名通常写作
GigabitEthernet0/0/1,简写GE0/0/1,从左到右分别是"槽位号/板卡号/端口号" - 华三:常见写法是
GigabitEthernet1/0/1,简写GE1/0/1,规则是"框号/槽位号/端口号" - 思科:常见写法是
GigabitEthernet0/0/1或者GigabitEthernet0/1,看具体设备型号,有的交换机写作Gi0/1,有的路由器写作G0/0/1
乍一看,华为和华三的接口名称似乎一模一样,只是编号不同。实际上这个区别已经足够坑人:如果你把华为的 GigabitEthernet0/0/1 当成华三来用,在华三设备上敲 interface GigabitEthernet0/0/1,很多设备会直接报错,因为H3C设备常见的接口编号是 1/0/1。我自己就在一台华三的盒式交换机上踩过这个坑,后来养成了习惯:拿到设备先用 display interface brief 看一下真实的接口列表,再开始配置。
思科的惯例是物理接口名可以缩写成 Gi0/0/1,华为和华三也支持缩写,比如 GE0/0/1。但思科还有一个特殊性:有些三层接口叫 GigabitEthernet0/0/1.10,这是子接口,用来做单臂路由或者VLAN间路由;华为和华三也支持子接口,写法是 GigabitEthernet0/0/1.10,结构上是类似的。
4.2 配置IP地址和端口状态
假设要在三台设备上把 GigabitEthernet0/0/1(或对应接口)配置成 192.168.1.1/24:
华为:
text复制system-view
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
undo shutdown
华三:
text复制system-view
interface GigabitEthernet1/0/1
ip address 192.168.1.1 255.255.255.0
undo shutdown
思科:
text复制configure terminal
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
no shutdown
看出来了吗?三者配置IP地址的语法几乎一样,ip address 192.168.1.1 255.255.255.0,唯一的区别就是接口名称和 undo / no。这说明什么问题?说明三家在网络基础配置上用的都是标准TCP/IP协议栈,只要理解了IP地址和子网掩码的概念,命令本身并不难。
但是要注意,华为和华三默认情况下物理接口是开启还是关闭,取决于设备型号和出厂配置。很多H3C交换机的光口默认是开启的,但有些华为设备的接口在默认配置下可能是down的,需要执行 undo shutdown。思科这边,大多数交换机的物理接口默认就是up的,除非你之前执行过 shutdown。我建议不管哪家设备,配置完接口都顺手敲一下"关闭/开启"命令,确保状态可控。
4.3 接口状态排查与常用查看
配置完接口,第一件事就是确认端口是否up。
- 华为:
display interface brief,如果第一列接口名后面显示up,状态正常 - 华三:
display interface brief,同样看接口状态 - 思科:
show interfaces status或者show ip interface brief
这里有个细节:思科的 show ip interface brief 输出的是接口IP和状态,但它不会显示物理链路的光功率、协商模式这些信息。华为和华三的 display interface brief 也会省略一些物理参数,但如果你执行 display interface GigabitEthernet0/0/1,就能看到非常详细的物理层信息,包括速率、双工模式、光模块类型、错误计数等。思科对应的详细查看命令是 show interface GigabitEthernet0/0/1。
从排障角度说,我个人的经验是:先看接口状态,再查物理链路,最后看统计计数。华为和华三在 display interface 里会直接列出 CRC errors、input errors、output errors 这些计数器,思科也一样。如果CRC错误一直在涨,大部分情况是物理线路质量问题,或者光模块不兼容,这时候再去改配置就是浪费时间了。
5. VLAN配置的"同思路、不同写法"
VLAN也是网络工程里绕不开的基本操作。三家的VLAN配置思路完全一致:先创建VLAN,然后把端口划进去,最后配置需要跨交换机传递的Trunk链路。但具体敲法,确实各有各的脾气。
5.1 创建VLAN的命令差异
华为:
text复制system-view
vlan 10
如果想批量创建VLAN 10到20,华为支持:
text复制vlan batch 10 to 20
华三:
text复制system-view
vlan 10
批量创建一样可以用 vlan batch 10 to 20(新版本Comware支持)。不过老一代Comware设备上,更常见的写法是 vlan 10 to 20,这个需要看你手上的具体版本,最好先敲个问号看看提示。
思科:
text复制configure terminal
vlan 10
思科在全局配置模式下执行 vlan 10 后,会进入VLAN配置视图 (config-vlan)#,你可以在这里给VLAN起名字,比如 name Office。华为和华三是在 VLAN 视图下输入 name Office 也可以,不过如果你不创建VLAN直接给端口划VLAN,华为和华三在某些版本里会提示VLAN不存在——这个需要特别注意。
5.2 Access口配置对比
把某个接口划成一个Access口,属于VLAN 10,三家写法如下:
华为:
text复制interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
华三:
text复制interface GigabitEthernet1/0/1
port link-type access
port default vlan 10
思科:
text复制interface GigabitEthernet0/0/1
switchport mode access
switchport access vlan 10
能看到规律吧?华为和华三叫"端口链路类型",执行 port link-type access;思科叫"交换机端口模式",执行 switchport mode access。而在给Access口划分VLAN时,华为/华三用 port default vlan,思科用 switchport access vlan。
我在给新人讲这个知识点时,经常让他们记住一个口诀:华为华三看"default",思科看"access"。因为华为的 port default vlan 意思是"这个端口默认属于哪个VLAN",思科的 switchport access vlan 意思是"这个Access口放在哪个VLAN里"。虽然起点不同,但最终效果是一样的。
5.3 Trunk口配置对比
Trunk口的作用是让多个VLAN的流量通过同一根链路传输。配置差异主要在"允许列表"上。
华为:
text复制interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
如果想放行所有VLAN:
text复制port trunk allow-pass vlan all
华三:
text复制interface GigabitEthernet1/0/1
port link-type trunk
port trunk permit vlan 10 20
注意,华三使用的关键词是 permit,不是 allow-pass。这是华为和华三最容易混淆的地方之一。华三高版本的Comware在某些场景下也兼容 allow-pass,但为了稳妥,建议你在华三设备上还是用 port trunk permit vlan。
思科:
text复制interface GigabitEthernet0/0/1
switchport mode trunk
switchport trunk allowed vlan 10,20
允许所有VLAN:
text复制switchport trunk allowed vlan all
这里还有一个非常常见的坑:思科的 switchport trunk allowed vlan all 是直接覆盖式的写法,执行后这个Trunk口就只放行指定列表中的VLAN了。如果你前面已经放行了VLAN 10,现在想追加VLAN 20,不能只写 switchport trunk allowed vlan 20,那会把10覆盖掉。正确做法是写 switchport trunk allowed vlan add 20。华为和华三则不太一样,它们的 allow-pass / permit 默认就是追加逻辑,你写了10再写20,两个都在列表里。所以从思科切过来的朋友,在华为上配置Trunk时反而觉得"怎么这么省心",但你得记得确认一下VLAN列表,防止误放行。
6. 静态路由与默认路由:三家命令只差一个关键词
6.1 静态路由配置
配置静态路由是三层网络设备最基础的功能。假设要添加一条去往 10.0.0.0/8 网段的路由,下一跳是 192.168.1.254。
华为:
text复制system-view
ip route-static 10.0.0.0 8 192.168.1.254
华三:
text复制system-view
ip route-static 10.0.0.0 8 192.168.1.254
思科:
text复制configure terminal
ip route 10.0.0.0 255.0.0.0 192.168.1.254
三家配置静态路由的核心区别就一个关键词:华为和华三用 ip route-static,思科用 ip route。地址掩码的表达方式也不一样——华为和华三既支持简写前缀长度 8,也支持完整掩码 255.0.0.0;思科必须写完整掩码,或者在某些新平台上支持前缀长度,但传统IOS上还是写完整掩码最稳妥。
顺便说一句,如果你看到华三设备上写的是 ip route-static 10.0.0.0 255.0.0.0 192.168.1.254,也不用奇怪,这和 ip route-static 10.0.0.0 8 192.168.1.254 是完全等效的。
6.2 默认路由配置
默认路由是"只要路由表里没有更精确的条目,就都走这条路径"。通常用于出口设备,或者指向上一级路由器。
华为/华三:
text复制ip route-static 0.0.0.0 0.0.0.0 192.168.1.254
思科:
text复制ip route 0.0.0.0 0.0.0.0 192.168.1.254
这里有一个小细节:华为和华三的默认路由写法里,0.0.0.0 0.0.0.0 是固定套路,第一个0.0.0.0代表目的网段,第二个0.0.0.0代表掩码是0位。思科同样。所以你只要记住"向外的默认路由就是四个零"这个规律,三家的写法都逃不开它。
但是要注意,华为设备如果配置了多条静态路由,默认情况下是不会做负载均衡的,而是根据路由优先级(preference)来选路。华为默认静态路由优先级是60,思科管理距离(administrative distance)也是1。哦,这里要更正一下:思科静态路由默认管理距离是1,华为默认优先级是60,华三默认也是60。所以在华为和华三上配置等价静态路由时,如果想实现负载分担,可以手动设置相同的优先级;而思科上只要两条静态路由的下一跳不同、目的网段相同,默认就可能形成负载均衡。
7. 日常排障中最常用的display/show命令对照表
排障时最重要的动作就是"看"。你把三家的查看命令对照清楚了,排障就成功了一半。
7.1 接口和链路排障
查看接口状态、统计信息、错误计数,是最常用的排障起点。
| 用途 | 华为/华三 | 思科 |
|---|---|---|
| 查看所有接口的状态摘要 | display interface brief |
show ip interface brief |
| 查看单个接口详细信息 | display interface GigabitEthernet0/0/1 |
show interface GigabitEthernet0/0/1 |
| 查看光模块信息 | display transceiver interface GigabitEthernet0/0/1 |
show interface transceiver(部分平台不支持) |
| 查看以太网端口统计 | display interface counters |
show interface counters |
在我接手的网络故障里,大概有三分之一是光模块或者网线问题。华为设备上 display transceiver 会直接告诉你光模块的温度、电压、发送光功率、接收光功率。思科平台上,如果光模块是原厂的,通常也能看到DDM信息;如果是兼容模块,可能看不到。这个差异在实际运维中很要命,所以我建议在监控平台里把光功率指标做进去,不要真等链路断了才上设备查。
7.2 二层、三层表和ARP
查看MAC地址表、路由表、ARP表,是解决"通不通"问题的关键。
| 用途 | 华为/华三 | 思科 |
|---|---|---|
| 查看MAC地址表 | display mac-address |
show mac address-table |
| 查看IP路由表 | display ip routing-table |
show ip route |
| 查看ARP表 | display arp |
show arp |
| 查看VLAN信息 | display vlan |
show vlan brief |
| 查看VLAN接口信息 | display ip interface brief |
show ip interface brief |
一个常见场景:两台设备通了但业务不通,第一件事是看MAC表有没有学习到,再看看ARP表是否正常。如果是跨VLAN通信,还要检查VLANIF接口是否up。这里我犯过一个很尴尬的错误:在华为交换机上配置了VLANIF 10接口,但忘记创建VLAN 10,结果VLANIF一直down,怎么都ping不通。后来才反应过来,VLANIF必须依赖对应的VLAN存在,否则起不来。
7.3 Ping和Tracert的差异
三家的ping命令基本一致,都是 ping 加目标IP。但tracert有区别:
- 华为:
tracert 192.168.1.1 - 华三:
tracert 192.168.1.1 - 思科:
traceroute 192.168.1.1(简写是tracert在某些IOS版本里也能用,但正式命令是traceroute)
另外,华为的 tracert 默认使用的UDP端口是33434,思科默认也是UDP,但如果你在设备上做ACL控制,放行这些探测流量时就要注意端口范围。大部分时候,ping 通只代表IP层可达,不代表应用层没问题,这个原理三家都一样。
8. 远程管理与账号配置的基本套路
网络设备日常维护基本都靠远程登录,很少会抱着Console线跑机房。三家的远程管理配置思路几乎一致:开启远程管理服务,配置登录用户和密码,再限制哪些接口能连。
8.1 Telnet和SSH配置差异
以开启远程管理为例,华为:
text复制system-view
telnet server enable
user-interface vty 0 4
authentication-mode password
set authentication password cipher 123456
protocol inbound telnet
华三的配置思路和华为类似,但命令略有不同:
text复制system-view
telnet server enable
line vty 0 4
authentication-mode password
set authentication password simple 123456
protocol inbound telnet
思科:
text复制configure terminal
line vty 0 4
password 123456
login
transport input telnet
这里有一个容易绕晕的点:华为用的是 user-interface vty 0 4,华三新版本用的是 line vty 0 4,思科也是 line vty 0 4。华三和思科在"线"的叫法上保持一致,但进入后的配置命令又有差异。
从安全角度,强烈建议把远程管理服务配置成SSH而不是Telnet。Telnet的密码和流量都是明文传输的,在生产环境里风险极大。我在客户现场就见过一台核心交换机上的管理员密码被Telnet抓包直接看到的情况。这个跟"系统环境与基本命令"的关系是:你至少要清楚三家的SSH配置命令入口在哪里,以防要紧急开启远程管理时手忙脚乱。
8.2 登录认证和权限设置
华为的默认登录认证方式在部分版本里是AAA或者密码,思科新设备默认是本地认证。这导致你第一次登录设备时,思科可能要求你先设置enable密码,华为则可能不需要。
设置管理员密码/特权密码的差异:
- 思科:
enable secret 123456,这个密码是进入特权模式用的 - 华为/华三:默认没有独立"特权模式"概念,系统视图就是最高配置权限,所以没有enable secret这种全局密文,而是直接在用户视图下进入系统视图
所以如果你习惯了思科的"先进入特权模式再开启配置",转到华为时可能会觉得少了点什么。其实华为的逻辑是:能登录到设备就已经具备了查看权限,只有进入系统视图才需要认证。这是两种不同的权限模型。华三和华为模型接近,但华三也支持类似角色权限的划分。
9. 华为和华三其实也有"亲兄弟打架"的地方
很多人以为华为和华三的命令可以通用,毕竟都长得差不多。这个想法在70%的场景下没问题,但剩下30%的细节,足够让你抓狂。
9.1 相似命令下的细节差异
创建VLAN时,华为推荐 vlan batch 10 to 20,华三传统版本也能用,但有些老版本只支持 vlan 10 to 20。我在一台老Comware设备上敲 vlan batch 时被报错,当时还以为是版本太老,结果发现那台设备只认 vlan 10 to 20。这一点真的要看设备版本,别死记。
Trunk放行命令:华为用 port trunk allow-pass vlan,华三传统命令是 port trunk permit vlan。虽然华三新版本已经在向 allow-pass 兼容,但你在一台跑着老版本Comware的设备上敲 allow-pass,它可能直接提示"未知命令",这就很尴尬了。
还有一个点:华为的接口名称缩写 GE0/0/1,华三的接口缩写通常是 GE1/0/1。如果两者都简写成 GE,很容易让人误以为接口编号规则一样。实际上华为的编号从0开始,华三多数从1开始,具体要看设备是盒式还是框式,所以配置前一定先用 display interface brief 扫一眼。
9.2 输出格式和中英文提示
华为设备的中英文提示输出比较友好,很多版本默认会显示中文帮助,比如"错误:未知的命令"。华三的设备默认输出多为英文,如果你不熟悉它的报错风格,可能会觉得"明明命令没错,为什么报错"。思科就更不用说了,基本都是英文。
我曾经在客户现场遇到一个情况:华三设备上执行 display current-configuration 时,输出里有一些配置段落的注释,但华为设备的 display current-configuration 输出格式和华三并不完全一样,导致我用脚本自动抓配置时解析失败。后来我在脚本里专门区分了厂商版本,或者干脆用 display current-configuration interface 这样的定向查看命令,才避免了误判。
所以我的建议是:不要因为华为和华三相似,就不做充分的命令验证。你完全可以在模拟器或者测试环境,先用 display version 确认系统版本,再决定用哪种命令风格。尤其是华三,不同Comware版本差异较大,必须随机应变。
10. 快速切换命令体系的实操经验
最后这一部分,我想说说怎么在"华为、思科、华三"之间快速切换而不出乱子。这算是我自己多年运维的一点心得,不是书本上能查到的东西。
10.1 我的记忆方法
我的方法是建立一张"最小命令对照表",只记最核心的30条,不试图记完整命令集。这张表我建议你也自己动手做一份,边做边理解。
我自己的核心对照如下:
| 操作 | 华为 | 华三 | 思科 |
|---|---|---|---|
| 进入配置模式 | system-view |
system-view |
configure terminal |
| 查看接口状态 | display interface brief |
display interface brief |
show ip interface brief |
| 查看运行配置 | display current-configuration |
display current-configuration |
show running-config |
| 配置接口IP | ip address |
ip address |
ip address |
| 启用接口 | undo shutdown |
undo shutdown |
no shutdown |
| 创建VLAN | vlan 10 |
vlan 10 |
vlan 10 |
| Access口划分 | port link-type access + port default vlan 10 |
同华为 | switchport mode access + switchport access vlan 10 |
| Trunk放行 | port trunk allow-pass vlan |
port trunk permit vlan |
switchport trunk allowed vlan |
| 静态路由 | ip route-static |
ip route-static |
ip route |
| 保存配置 | save |
save |
write / copy run start |
| 重启设备 | reboot |
reboot |
reload |
你可能注意到了,华三这一列,大部分和华为一样,只有少量命令不同。思科这一列,和华为/华三差异最大的地方就是"show/display"、"no/undo"、"switchport/port"。我建议把这些差异用笔写在纸上,贴在你的工作台旁边。
10.2 我在实际运维中的一些避坑心得
说几个踩过的坑,希望能帮你少走弯路。
第一,别在配置更新前忘记保存。华为和华三的 save 会弹确认,思科的 wr 不会弹确认。正因为思科不弹确认,有时候你会觉得自己已经保存了,其实没保存;而华为/华三弹确认弹得多了,又会让人下意识一路回车,可能把不想保存的临时配置也存进去了。所以我在每台设备上配置完一批操作后,都养成了执行 display current-configuration 快速扫一眼关键配置,然后再保存的习惯。
第二,华为和华三的 undo 命令和思科的 no 命令不完全等价。undo 不仅可以关闭某个功能,还可以恢复默认值。比如华为的 undo shutdown 是启用接口,但 undo ip address 是删除IP地址。思科的 no ip address 也是删除IP地址,但 no shutdown 是启用接口。所以从语义上看,undo 和 no 非常像,但用法依然有细微差别,用的时候要看你当前所在的视图和对象。
第三,善用Tab补全和问号。华为、华三、思科都支持Tab键自动补全和问号查看帮助,但补全的规则不同。思科Tab会把命令补全成完整单词,比如 conf 补全成 configure;华为Tab补全时,如果你只敲了一个在前缀上有歧义的单词,比如 dis,它会补全成 display,但如果你敲的是 di,系统可能无法自动补全。我的建议是:能敲多长就多长,尤其是跨厂商操作时,不要贪图简写,简写虽然方便,但更容易触发歧义。只要不着急,多按几下Tab总不会错。
第四,模拟器是切换练习的好工具。华为的eNSP、华三的HCL、思科的Cisco Packet Tracer或者EVE-NG,都可以用来熟悉命令。我建议你建一个相同的组网拓扑,分别用三家的模拟器搭起来,把VLAN、静态路由、远程管理这三大块配置各做一遍。等你在模拟器里也能自然切换之后,到了真实设备上就不会太慌。唯一的遗憾是模拟器的命令集和真实设备有版本差异,但基本命令的对应关系是稳定的。
我的整体体会是:华为、思科、华三的命令虽然长得不一样,但核心逻辑都是"配置一条、查看一条、验证一条,最后保存"。只要你把系统环境的差异看透了,把基本命令的对应关系建立起来,剩下的就是熟能生巧。刚开始切换时会觉得别扭,但坚持一个月,你就能像我一样,在三台设备之间来回敲命令,心里完全不用默念"这是哪家的设备"了。
