haierccc 发表于 2020-7-5 11:08:59

在Cisco IOS里执行Linux Shell命令

本帖最后由 小乔 于 2020-7-5 16:38 编辑

这是很多业内人士都不知道的隐藏技巧。
这些在IOS中运行的Linux命令可以提高你的工作效率,也可用于耍酷或面试等环节,让对方感到惊奇!这些命令已经在CISCO设备上存在很长时间了,根据测试,1900这样的老设备也支持。CISCO的一份2001年3月25日发布的一份文档说明了从IOS v15.1M版本开始支持Cisoc IOS Shell的相关细节:
https://www.cisco.com/c/en/us/td/docs/ios/netmgmt/configuration/guide/Convert/IOS_Shell/nm_ios_shell.html

因为高版本的IOS(比如IOS XE)是基于Linxu创建的,是Linux的一个进程,所以支持Shell命令。

本文以VIRL的vIOS为例。
打入命令 show ip int b之后列出所有接口,可见有一大堆环回口,暂停在“--More--”等待用户按任意键继续显示:
此时输入正斜杠后跟关键字可以过滤之下的列表,比如从中找出地址为172.16.109.1的接口,会显示该接口及其之下的所有列表:


在配置模式里打入命令:
shell processing full
这就启动了完整的shell进程,现在我想显示UP状态的、除了172开头和192开头之外的所有接口,所以使用了3层过滤,include就做不到这点:
show ip int b | grep up | grep -v 172 | grep -v 192

如果不想显示环回口,那很简单:
show ip int b | grep up | grep -v 172 | grep -v 192 | grep -v Loop

再比如显示所有UP同时又配置了地址的端口(排除掉UP却未配置地址的接口),可以这样打:
show ip int b | grep up | grep -v un

显示出内存中所有包含172.16.10的字符串:
show run | grep 172.16.10


显示出包含1.1,却排除环回口的字符串(相当于同时使用include和exclude,传统上做不到这点):
show run | grep 1.1 | grep -v Loop


uname -a 显示路由器的相关信息,uname -s、-v、-r 显示路由器的版本号,这在脚本中很有用,uname -n,显示路由器名字


如果想要知道shell的更多功能,打入帮助:
show shell functions可见shell提供了大量的Linux命令,这可以大大提高我们的工作效率,比如head,tail等等

通过管道,把内存中的配置导入flash:
sh run > shrun.cfg


more shrun.cfg显示文件(cat也可以,q退出):


高级应用
**** Hidden Message *****










wjlovezzd 发表于 2020-7-5 11:17:05

{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}
学习了感谢分享

zayl 发表于 2020-7-5 11:40:10

这个有点意思{:6_267:}

ykce 发表于 2020-8-25 16:15:17

:lolCisco IOS里执行Linux Shell命令

ykce 发表于 2020-8-25 16:15:33

{:6_267:}{:6_267:}{:6_267:}{:6_267:}{:6_267:}

ichlitang 发表于 2020-8-25 16:21:10

dyg顶一个

jqlhsy 发表于 2020-9-1 17:15:33

66666顶顶顶顶顶顶顶顶

axeii 发表于 2020-9-2 18:40:38

學習學習,感謝樓主的分享!

takeit 发表于 2020-9-10 00:15:18

第一次見識到,高手

yijingmo 发表于 2020-9-22 13:54:09

{:6_267:}

yijingmo 发表于 2020-9-22 13:56:54

{:6_267:}

弄弄清楚 发表于 2020-9-26 18:29:49

感谢分享

yijingmo 发表于 2020-10-17 15:44:36

{:6_267:}

baiyu3270 发表于 2021-1-4 19:03:22

涨知识

pentium315 发表于 2021-1-8 20:23:15

哇!好棒的东东,感谢分享啊。{:6_268:}
页: [1] 2
查看完整版本: 在Cisco IOS里执行Linux Shell命令