Obteniendo ayuda
Otra característica interesante para los mecanógrafos klutzy (algo así como patanes) como yo es que en lugar de esperar hasta que se pulse Enter al final de una declaración de configuración para comprobar errores de sintaxis, JunOS comprueba la sintaxis palabra por palabra, es decir, cada vez que se teclea en una palabra en una línea y se pulsa la barra espaciadora, se comprueba la sintaxis.
También permite, como el IOS, escribir el número mínimo de letras de un comando que se identifican de forma única. Por ejemplo, si quieres ver en la tabla de enrutamiento unicast en IOS puedes escribir:
sh ip rou
IOS entenderá esto como:
show ip route
JunOS hace lo mismo, con excepción de que cada vez que se pulsa la barra espaciadora, además de comprobar de inmediato la sintaxis, completa el comando. Así por ejemplo, el comando equivalente de JunOS para mostrar la tabla de enrutamiento unicast es la siguiente:
show route
Puedo escribir sh, y tan pronto como pulso la barra espaciadora aparece show. Entonces tecleo rou, y cuando pulso la barra espaciadora muestra route.
En el siguiente ejemplo, estoy en modo configuración. Quiero hacer un cambio en la configuración del chasis, por lo que escribo:
[edit] jeff@Juniper5# set cha
cuando pulso la barra espaciadora el comando se completa:
[edit] jeff@Juniper5# set chassis
Si pulso enter en este punto, JunOS me dice que no tiene suficiente información:
[edit] jeff@Juniper5# set chassis ^ missing argument.
Esto es casi el mismo comportamiento que IOS muestra cuando la línea de comandos está incompleta. Y como con IOS, el signo de interrogación (?) en JunOS es su principal herramienta de referencia:
[edit] jeff@Juniper5# set chassis ? Possible completions: > alarm Global alarm settings + apply-groups Groups from which to inherit configuration data + apply-groups-except Don't inherit configuration data from these groups > config-button Config button behavior settings craft-lockout Disable craft interface input > fpc Flexible PIC Concentrator parameters > routing-engine Routing Engine settings [edit] jeff@Juniper5# set chassis
Tener en cuenta que al final de los posibles parametros, la línea de comando que estaba escrita se teclea de nuevo, lista para elegir la siguiente palabra en la línea. Añado "c" como una abreviatura de la siguiente palabra, pero JunOS se queja cuando pulso la barra espaciadora, porque "c" podría representar varias palabras; JunOS no sabe lo que quiero, y me dice que posibles palabras son las siguientes:
[edit] jeff@Juniper5# set chassis c ^ 'c' is ambiguous. Possible completions: > config-button Config button behavior settings craft-lockout Disable craft interface input jeff@Juniper5# set chassis c
Bien, quiero el comando craft-lockout. pero lo tecleo mal:
jeff@Juniper5# set chassis crof ^ syntax error. jeff@Juniper5# set chassis crof
Pero ahora tengo un momento de duda. La breve lista de opciones dice que este comando deshabilita la interfaz de entrada de craft. ¿Qué significa eso? ¿Es eso lo que realmente quiero hacer? Necesito ayuda. Resulta que help es un comando muy útil.
Si yo tecleo help reference y especifico el comando que deseo utilizar, se muestra una breve referencia:
[edit] jeff@Juniper5# help reference chassis craft-lockout craft-lockout Syntax craft-lockout; Hierarchy Level [edit chassis] Release Information Statement introduced in JUNOS Release 8.1. Description Disable the physical operation of the craft interface front panel. Usage Guidelines See "Disabling Physical Operation of the Craft Interface". Required Privilege Level interface--To view this statement in the configuration. interface-control--To add this statement to the configuration. [edit] jeff@Juniper5#
Esto me dice sobre el uso, pero realmente quiero más de una explicación de lo que significa. Puedo conseguir más mediante el uso de help topic:
[edit] jeff@Juniper5# help topic chassis craft-lockout Disabling Physical Operation of the Craft Interface You can disable the physical operation of the craft interface front panel on the routing platform. When you disable the operation of the craft interface, the buttons on the front panel, such as the alarm cutoff button, no longer function. To disable the craft interface operation, include the craft-lockout statement at the [edit chassis] hierarchy level: [edit chassis] craft-lockout; For more information about how to configure the craft interface, see Configuring Conditions That Trigger Alarms. [edit] jeff@Juniper5#
Eso me dice todo lo que necesito saber acerca de la configuración de la función craft-lockout del chasis. Pero ¿ Si lo que quiero saber es algo más general sobre la palabra clave chasis ? Para esto, puedo utilizar help apropos, que me dice de todos los diferentes contextos en virtud de la cual puedo referirme a chasis:
[edit] jeff@Juniper5# help apropos chassis set system location lcc Line-card chassis location set system processes chassis-control Chassis control process set system processes chassis-control disable Disable chassis control process set system processes chassis-control failover How to handle failure of chassis control process set chassis Chassis configuration set chassis fpc pic shdsl SHDSL chassis configuration set chassis disable-power-management Disable Power Management in this chassis set chassis network-services Chassis network services configuration set chassis lcc Line-card chassis configuration set chassis lcc fpc pic shdsl SHDSL chassis configuration set snmp trap-group categories chassis Chassis or environment notifications set class-of-service interfaces scheduler-map-chassis Scheduler map applied to chassis queues (not PIC queues) set class-of-service traceoptions flag hardware-database Trace chassis hardware database related processing [edit] jeff@Juniper5#
El comando help apropos sólo muestra los contextos que son relevantes para el nivel de la jerarquía de configuración en que te encuentras actualmente. Si tecleara help apropos interfaz en la parte superior [top], vería una lista muy larga de cada contexto en el que puedo establecer una opción de interfaz. En el siguiente ejemplo, paso al nivel de configuración en la que puedo configurar el área 0 de OSPF. Tecleando help apropos interfaz a ese nivel sólo muestra los contextos en los que puedo configurar una interfaz para el área 0 de OSPF:
[edit] jeff@Juniper5# edit protocols ospf area 0 [edit protocols ospf area 0.0.0.0] jeff@Juniper5# help apropos interface set virtual-link neighbor-id transit-area demand-circuit Interface functions as a demand circuit set sham-link-remotedemand-circuit Interface functions as a demand circuit set interface Include an interface in this area set interface Interface name set interface disable Disable OSPF on this interface set interface interface-type Type of interface set interface metric Interface metric set interface demand-circuit Interface functions as a demand circuit set interface dynamic-neighbors Learn neighbors dynamically on a p2mp interface set interface poll-interval Poll interval for NBMA interfaces set label-switched-path metric Interface metric set peer-interface Configuration for peer interface set peer-interface Name of peer interface set peer-interface demand-circuit Interface functions as a demand circuit [edit protocols ospf area 0.0.0.0] jeff@Juniper5#
Si tengo al menos una idea general de lo que quiero lograr, puedo usar el signo de interrogación (?) y el comando help para hacer cambios en la configuración del JunOS, sin tener que ir a los manuales - un conjunto abreviado de los manuales están disponibles para el CLI .
Un interesante post de Jeff Doyle sobre JunOS (ver original).