如何使用快捷方式加快Cisco IOS中的CLI输入?


10

我知道我们可以使用自动sh ip int bri补全(Tab键)和缩写的命令(例如)来加快键入速度。

但是,我仍然不满意输入诸如sh ip dh sn bi | i 20.12for的加密链show ip dhcp snooping binding | include 20.12

我可以为常用命令序列定义快捷方式吗?


如果您知道要输入的内容,则show ip dhcp snooping...在键入时会有所考虑。sh ip dh sn... 如果要通过电子邮件将其发送给其他人,则至少要使缩写变得明显(例如snoopvs sn)。我希望在这种情况下不要缩写。恕我直言,当工程师为仍需要了解一些有用输出的非思科技术人员部署配置时,别名非常有用。对精通思科的人的别名只会使他们变得懒惰。(再次,完全是我的意见...)
塔拉

1
学习打字更快是一种选择。;-)
generalnetworkerror

1
@generalnetworkerror我经常不得不使用具有800毫秒延迟的饱和低带宽卫星连接。较少的击键将是一个选择,虽然输入速度不是真的快(尽管我很快)。
Stefan

您是否在该高延迟链接上使用Nagle算法?“ Router(config)#service nagle”
generalnetworkerror

@generalnetworkerror非常好一点!我不使用nagle,而是使用WAAS进行TCP优化和压缩。
斯特凡

Answers:


17

我们可以alias 在全局配置模式下使用该命令:

alias <mode> <command-alias> <original-command>

<mode>是许多IOS命令模式之一。如果您需要在不同的模式下使用它,则必须为每种模式调用它-输入alias ?以获得一长串模式。

用于检查dhcp监听的IP的示例,在全局配置模式下键入

alias exec snoop show ip dhcp snooping binding | include

现在,您可以简单地键入snoop 172.16.20.12以检查此IP或snoop 801检查VLAN 801中的所有IP。show mac-address-table | include与此类似,您可以更快地进行搜索和故障排除。

其他小费:

  • 为您和您的同事记录别名
  • sh aliases 显示您的别名以及预定义的别名
  • 虽然no alias <mode> <command>可以猜测删除别名,但no alias <mode>会删除完整模式的别名-因此,您可以一次清除多个别名,default alias <mode>工作方式与预期的一样
  • 如果您决定使用别名,请将其部署到可能需要的任何地方
  • 像Cisco Prime这样的工具可以帮助部署
  • 不要忘记原始命令;-)

大声笑您在发布问题的那一刻回答了自己的问题吗?:)存档知识?
2013年

@Bulki分享知识,在Beta阶段建立有意义的网站内容,寻找替代解决方案。那么,您的“笑声”是什么意思?
Stefan

好吧,当您看到这一点时,我很有趣,但是我确实认为这样做确实很重要,同时也要为他人提供一个良好的知识数据库:)我很惊讶,我什至注意到它了:)好消息!
Bulki 2013年

6

对于复杂的任务,建议使用TCL。您可以使用TCL创建可以在IOS / Nexus设备上存储和运行的脚本,从而在收集和显示数据方面提供了惊人的灵活性。

尽管对于简单的任务不一定会更快,但是您可以从多个命令中收集并关联信息,然后根据需要重新格式化。它还可以从SNMP中提取信息。

如果您没有仔细研究过,可以在这里找到一个这样的文档。

编辑:我没有添加,但可能应该添加。放置好TCL脚本后,就可以使用Stefan的出色答案中的alias命令来更快地访问该脚本。例如:

alias exec mac-lookup tclsh flash:mac-lookup.tcl

这也是一个很好的建议,但没有回答OP的问题。:-)
约翰·詹森

虽然不是别名上的快捷方式,但它是快捷方式,因为它可以执行许多操作并以比键入所有这些命令所需的时间更少的时间显示所需的数据。例如,如果您给它提供了一个MAC地址,则可以找回它所连接的接口,该端口上连接了多少其他设备,该接口的接口计数器,该MAC的任何DHCP侦听条目等等。 。这些选项是无限的,您希望它们与TCL一起使用。别名虽然很好,但范围有限,可以节省多少工作/类型。
YLearn

我键入了Q的“常用命令序列”和“加快CLI键入”部分。由于许多常见任务都需要运行一系列命令或一系列命令,因此在这些情况下,TCL最好提供“快捷方式”。 ”
YLearn

同意@YLearn; 有时候,更好的(不一定是最好的)答案可以为OP和其他阅读此书以了解CLI增强功能的所有选项带来更多价值。新手OP可能甚至不了解TCL,但这可能正是他们所寻求的。
generalnetworkerror

我的论点是编写Tcl脚本与创建别名所需的工作量,并不是每个人都有空闲时间(或愿望)来学习Tcl语法。回复:回答OP的问题,我可以看到指出Tcl选项的用处。
约翰·詹森

2

我个人认为别名是个坏主意。您永远不知道何时登录未定义您喜欢的别名的设备。然后,您需要记住从头开始键入的内容。

最好的办法?只需继续输入即可。最终,您的打字速度将会提高。


使用别名我没有问题。我的经验法则是,应该使用它们来提高工作效率,而不是简化我不了解/不了解的事情。如果没有别名就可以做到,那就很好,如果不能,请确保您了解别名的作用。
YLearn

1

如果您对telnet / ssh / console访问使用securecrt(如果不想进入过多的Shell脚本),则可以随时“记录”命令,它具有一个选项,然后您可以在工具中简单地选择记录的脚本我相信是


0

根据您执行的操作,更好的选择可能是编写Shell,Expect或其他脚本来执行常见任务。

对于基本的故障排除,让我的警报系统已经执行信息收集部分甚至更好。

notch之类的工具与其“ Mr CLI”之类的相关工具结合起来,可以使您非常轻松地创建一些功能非常强大的工具,今天可以助您一臂之力,并且可以通过一条简单的途径进一步改进明天的工作,如果不能完全自动化的话,您可能将任务转移到帮助台上,可以使用简单的网络应用程序执行基本步骤并帮助更快地解决用户问题。


尽管所有这些基本上都可以理解,但仍然无法回答OP的问题;它基本上是在为讨论创建点,我们应该避免。
约翰·詹森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.