Cisco Nexus 5000 Series NX-OS Software Configuration Guide
Using the Command-Line Interface
Downloads: This chapterpdf (PDF - 155.0KB) The complete bookPDF (PDF - 4.74MB) | Feedback

Using the Command-Line Interface

Table Of Contents

Using the Command-Line Interface

Accessing the Command Line Interface

Using the CLI

Using CLI Command Modes

Changing Command Modes

Listing the Commands Used with Each Command Mode

CLI Command Hierarchy

EXEC Mode Commands

Configuration Mode Commands

Using Commands

Listing Commands and Syntax

Entering Command Sequences

Undoing or Reverting to Default Values or Conditions

Using Keyboard Shortcuts

Using CLI Variables

User-Defined Persistent CLI Variables

Using Command Aliases

Defining Command Aliases

Command Scripts

Executing Commands Specified in a Script

Using CLI Variables in Scripts

Setting the Delay Time


Using the Command-Line Interface


This chapter describes the command-line interface (CLI) and CLI command modes. It includes the following sections:

Accessing the Command Line Interface

Using the CLI

Using Commands

Using CLI Variables

Using Command Aliases

Defining Command Aliases

Command Scripts

Accessing the Command Line Interface

You can connect to the switch using a terminal plugged into the console port. See Console Settings, page 3-3 for information on how to set console port parameters.

You can also connect to the switch with Telnet or SSH. The switch supports up to eight simultaneous Telnet and SSH connections. To connect with Telnet or SSH, you need to know the hostname or IP address of the switch.

To make a Telnet connection to the switch, perform these steps:

 
Command
Purpose

Step 1 

telnet {hostname | ip_addr}

Makes a Telnet connection from your host to the switch that you want to access.

Step 2 

Login: admin

Password: password

Initiates authentication.

Note If no password has been configured, press Return.

Step 3 

switch# exit

Exits the session when finished.

Alternatively, to make an SSH connection to the switch, use the following command:

Command
Purpose

ssh {hostname | ip_addr}

Makes an SSH connection from your host to the switch that you want to access.


Using the CLI

The section includes the following topics:

Using CLI Command Modes

CLI Command Hierarchy

EXEC Mode Commands

Configuration Mode Commands

Using CLI Command Modes

Switches in the Cisco Nexus 5000 Series have two main command modes: user EXEC mode and configuration mode. The commands available to you depend on the mode you are in. To obtain a list of available commands in either mode, type a question mark (?) at the system prompt.

Table 2-1 lists and describes the two commonly used modes, how to enter the modes, and the resulting system prompts. The system prompt helps you identify which mode you are in and the commands that are available to you in that mode.

Table 2-1 Frequently Used Switch Command Modes

Mode
Description
How to Access
Prompt

EXEC

Enables you to temporarily change terminal settings, perform basic tests, and display system information.

Note Changes made in this mode are generally not saved across system resets.

At the switch prompt, enter the required EXEC mode command.

switch#

Configuration mode

Enables you to configure features that affect the system as a whole.

Note Changes made in this mode are saved across system resets if you save your configuration.

From EXEC mode, enter the configure terminal command.

switch(config)#


You can abbreviate commands and keywords by entering just enough characters to make the command unique from other commands. For example, you can abbreviate the configure terminal command to conf t.

Changing Command Modes

Configuration mode, also known as terminal configuration mode, has several submodes. Each of these submodes places you further down in the prompt hierarchy. When you type exit, the switch backs out of the current level and returns you to the previous level. When you type end, the switch backs out to the user EXEC level. You can also press Ctrl-Z in configuration mode as an alternative to typing end.

Listing the Commands Used with Each Command Mode

You can display the commands available in any command mode by typing a question mark (?) at the switch prompt.

CLI Command Hierarchy

CLI commands are organized hierarchically, with commands that perform similar functions grouped under the same level. For example, all commands that display information about the system, configuration, or hardware are grouped under the show command, and all commands that allow you to configure the switch are grouped under the configure terminal command.

To execute a command, you enter the command by starting at the top level of the hierarchy. For example, to configure an interface, use the config terminal command. Once you are in configuration mode, enter the interface command. When you are in the interface submode, you can query the available commands.

The following example shows how to query the available command in the interface submode:

switch# configure terminal  
switch(config)# interface ethernet 1/1  
switch(config-if)# ?  
  bandwidth              Set bandwidth informational parameter 
  cdp                    Configure CDP interface parameters 
  channel-group          Add to/remove from a port-channel 
  delay                  Specify interface throughput delay 
  description            Enter description of maximum 80 characters 
  exit                   Exit from command interpreter 
  fcoe                   Fibre channel over ethernet configuration 
  fex                    Configure FEX fabric 
  flowcontrol            Configure interface flowcontrol 
  ip                     Configure IP features 
  ipv6                   Configure IPv6 features 
  lacp                   Configure LACP parameters 
  link                   Configure link 
  lldp                   Configure Interface LLDP parameters 
  logging                Configure logging for interface 
  mac                    MAC configuration commands 
  no                     Negate a command or set its defaults 
  priority-flow-control  Configure interface priority-flowcontrol 
  service-policy         Configure QoS service policy 
  shutdown               Enable/disable an interface 
  snmp                   Modify SNMP interface parameters 
  spanning-tree          Spanning Tree Subsystem 
  speed                  Enter the port speed 
  storm-control          Configure Interface storm control 
  switchport             Configure switchport parameters 
  untagged               default to use for untagged packets on interface 

EXEC Mode Commands

When you start a session on the switch, you begin in EXEC mode. From EXEC mode, you can enter configuration mode. Most of the EXEC commands are one-time commands, such as show commands, which display the current configuration status.

The following commands are available in EXEC mode:

switch# ?  
  attach            Connect to a specific linecard 
  callhome          callhome commands 
  cd                Change current directory 
  check             run consistency check on external storage device 
  clear             Reset functions 
  cli               CLI commands 
  clock             Manage the system clock 
  configure         Enter configuration mode 
  copy              Copy from one file to another 
  debug             Debugging functions 
  debug-filter      Enable filtering for debugging functions 
  delete            delete a file 
  dir               list files in a directory 
  discover          discover information 
  echo              echo argument back to screen (usefull for run script) 
  end               Exit configuration mode 
  ethanalyzer       Configure cisco fabric analyzer 
  exit              Exit from command interpreter 
  fcping            Ping an N-Port 
  fctrace           Trace the route for an N-Port. 
  fex               FEX control commands 
  find              Find a file below the current directory 
  format            Format disks 
  gunzip            Uncompresses LZ77 coded files 
  gzip              Compresses file using LZ77 coding 
  install           upgrade software 
  license           Enter the license configuration mode 
  mkdir             Create new directory 
  move              Move files 
  no                Negate a command or set its defaults 
  ntp               Execute NTP commands 
  ping              Test network reachability 
  ping6             Test IPv6 network reachability 
  purge             Deletes unused data 
  pwd               View current directory 
  reload            Reboot the entire box 
  rmdir             Delete a directory 
  routing-context   Set the routing context 
  run-script        Run shell scripts 
  san-port-channel  Port-Channel related commands 
  send              Send message to open sessions 
  session           Configure session preferences 
  setup             Run the basic SETUP command facility 
  show              Show running system information 
  sleep             Sleep for the specified number of seconds 
  ssh               SSH to another system 
  ssh6              SSH to another system 
  system            System management commands 
  tac-pac           save tac information to a specific location 
  tail              Display the last part of a file 
  telnet            Telnet to another system 
  telnet6           Telnet6 to another system 
  terminal          Set terminal line parameters 
  terminate         Terminates a config session 
  test              test command 
  traceroute        Traceroute to destination 
  traceroute6       Traceroute6 to destination 
  undebug           Disable Debugging functions (See also debug) 
  unmount           unmount compact flash disk or usb drive 
  update            Update license 
  where             shows the cli context you are in 
  write             Write current configuration 
  xml               xml agent 
  zone              Execute Zone Server commands 
  zoneset           Execute zoneset commands 

Configuration Mode Commands

Configuration mode allows you to make changes to the existing configuration. When you save the configuration, these commands are saved across switch reboots. Once you are in configuration mode, you can enter interface configuration mode, zone configuration mode, and a variety of protocol-specific modes. Configuration mode is the starting point for all configuration commands.

The following commands are available in configuration mode:

switch# configure terminal  
switch(config)# ?  
  aaa                 Configure aaa functions 
  banner              Configure banner message 
  boot                Configure boot variables 
  callhome            Enter the callhome configuration mode 
  cdp                 Configure CDP parameters 
  cfs                 CFS configuration commands 
  class-map           Configure class-map 
  cli                 Configure CLI aliases 
  clock               Configure time-of-day clock 
  device-alias        Device-alias configuration commands 
  diagnostic          Diagnostic commands 
  end                 Exit configuration mode 
  exit                Exit from command interpreter 
  fabric-binding      Fabric Binding configuration 
  fcalias             Fcalias configuration commands 
  fcdomain            Enter the fcdomain configuration mode 
  fcdroplatency       configure switch or network latency 
  fcflow              Configure fcfloww 
  fcid-allocation     Add/remove company id(or OUIs) from auto area list 
  fcinterop           Interop commands 
  fcns                name server configuration 
  fcroute             Configure FC routes 
  fcs                 Configure Fabric Config Server 
  fcsp                Config commands for FC-SP 
  fctimer             configure fibre channel timers 
  fdmi                config commands for FDMI 
  feature             Command to enable/disable features 
  fex                 FEX configuration 
  fspf                Configure fspf 
  hostname            Configure system's host name 
  hw-module           Enable/Disable OBFL information 
  in-order-guarantee  set in-order delivery guarantee 
  interface           Configure interfaces 
  ip                  Configure IP features 
  ipv6                Configure IPv6 features 
  lacp                Configure LACP parameters 
  license             Modify license features 
  line                Configure a terminal line 
  lldp                Configure global LLDP parameters 
  logging             Modify message logging facilities 
  mac                 MAC configuration commands 
  mac-address-table   MAC Address Table 
  monitor             Ethernet SPAN 
  no                  Negate a command or set its defaults 
  npiv                Nx port Id Virtualization (NPIV) feature enable 
  npv                 Config commands for FC N_port Virtualizer 
  ntp                 NTP Configuration 
  policy-map          Configure policy-map 
  port-channel        Configure port channel parameters 
  port-security       Configure Port Security 
  port-track          Configure Switch port track config 
  privilege           Command privilege parameters 
  radius-server       Configure RADIUS related parameters 
  resequence          Resequence a list with sequence numbers 
  rib                 Configure RIB parameters 
  rlir                config commands for RLIR 
  rmon                Remote Monitoring 
  role                Configure roles 
  rscn                config commands for RSCN 
  scsi-target         scsi-target configuration 
  show                Show running system information 
  snmp-server         Configure snmp server 
  spanning-tree       Spanning Tree Subsystem 
  ssh                 Configure SSH parameters 
  switchname          Configure system's host name 
  system              system config command 
  system              System management commands 
  tacacs+             Enable tacacs+ 
  telnet              Enable telnet 
  track               Object tracking configuration commands 
  trunk               Configure Switch wide trunk protocol 
  username            Configure user information. 
  vlan                Vlan commands 
  vrf                 Configure VRF parameters 
  vsan                Enter the vsan configuration mode 
  wwn                 Set secondary base MAC addr and range for additional WWNs 
  xml                 xml agent 
  zone                Zone configuration commands 
  zoneset             Zoneset configuration commands 

Using Commands

You can configure the CLI to function in two ways: configure it interactively by entering commands at the CLI prompt or create an ASCII file containing switch configuration information (use the CLI to edit and activate the file).

Listing Commands and Syntax

In any command mode, you can obtain a list of available commands by entering a question mark (?).

switch# ?  

To see a list of commands that begin with a particular character sequence, type those characters followed by a question mark (?). Do not include a space before the question mark.

switch# co?  
configure copy  

To list keywords or arguments, enter a question mark in place of a keyword or argument. Include a space before the question mark. This form of help is called command syntax help because it reminds you which keywords or arguments are applicable based on the commands, keywords, and arguments you have already entered.

switch# # configure ? 
  <CR> 
  terminal  Configure the system from terminal input 


Tip If you are having trouble entering a command, check the system prompt and enter the question mark (?) for a list of available commands. You might be in the wrong command mode or using incorrect syntax.


Entering Command Sequences

In any command mode, you can begin a particular command sequence, then immediately press the Tab key to complete the rest of the command.

switch (config)# ro<Tab>  
switch (config)# role <Tab>  
switch (config)# role name  

This form of help is called command completion because it completes a word for you. If several options are available for the typed letters, all options that match those letters are displayed.

Undoing or Reverting to Default Values or Conditions

You can enter the no form of any command to perform the following actions:

Undo an incorrectly entered command.

If you enter the zone member command, you can undo the results:

switch(config)# zone name test vsan 1  
switch(config-zone)# member pwwn 12:12:12:12:12:12:12:12  
switch(config-zone)# no member pwwn 12:12:12:12:12:12:12:12  
WARNING: Zone is empty. Deleting zone test. Exit the submode.  
switch(config-zone)#  

Delete a created facility.

If you want to delete a zone that you created:

switch(config)# zone name test vsan 1  
switch(config-zone)# exit  
switch(config)# no zone name test vsan 1  
switch(config)#  

You cannot delete a zone facility called test while still in zone configuration submode. You must first exit the zone submode and return to configuration mode.

Revert to the default value.

If you enter the zone merge-control restrict vsan command, you can undo the results:

switch(config)# zone merge-control restrict vsan 10  
switch(config)# no zone merge-control restrict vsan 10  
switch(config)#  

Using Keyboard Shortcuts

You can execute an EXEC mode command from a configuration mode or submode prompt. You can enter this command from any submode within the configuration mode. The command is executed at the EXEC level, and the prompt resumes its current mode level, as in the following example:

switch(config)# terminal session-timeout 0  
switch(config)#  

In this example, terminal session-timeout is an EXEC mode command.

Table 2-2 lists some useful command keys that can be used in both EXEC and configuration modes.

Table 2-2 Useful Command Keys

Command
Description

Ctrl-P

Up history

Ctrl-N

Down history

Ctrl-X-H

List history

Alt-P

History search backwards

Note The difference between Tab completion and Alt-P or Alt-N is that pressing Tab completes the current word, while Alt-P and Alt-N completes a previously entered command.

Alt-N

History search forwards

Ctrl-G

Exit

Ctrl-Z

End

Ctrl-L

Clear session


Table 2-3 describes the commonly used configuration submodes.

Table 2-3 Common Configuration Submodes 

Submode Name
From Configuration Mode, Enter:
Submode Prompt

Call home

callhome

switch(config-callhome)#

FCS Registration

fcs register

switch(config-fcs-register)#

From FCS registration submode:

platform name name vsan vsan-id

switch(config-fcs-register-attrib)#

Fibre Channel alias

fcalias name name vsan vsan-id

switch(congif-fcalias)#

FSPF

fspf config vsan vsan-id

switch(config-(fspf-config))#

Interface configuration

interface type slot/port

switch(config-if)#

Line console

line console

switch(config-console)

Virtual terminal line

line vty

switch(config-line)#

Role

role name

switch(config-role)#

VLAN

vlan

switch(config-vlan)#

VSAN database

vsan database

switch(config-vsan-db)#

Zone

zone name string vsan vsan-id

switch(config-zone)#

Zone set

zoneset name name vsan vsan-id

switch(config-zoneset)#


Using CLI Variables

The Cisco Nexus 5000 Series CLI parser supports the definition and use of variables in CLI commands. CLI variables can be used as follows:

Entered directly on the command line.

Passed to the child script initiated using the run-script command.

The variables defined in the parent shell are available for use in the child run-script command process (see the "Executing Commands Specified in a Script" section).

Passed as command line arguments to the run-script command (see the "Executing Commands Specified in a Script" section).

CLI variables have the following characteristics:

You cannot reference a variable through another variable using nested references.

You can define persistent variables that are available across switch reloads.

You can reference only one predefined system variable, which is the TIMESTAMP variable.

User-Defined Persistent CLI Variables

You can define CLI session variables to persist only for the duration of your CLI session using the cli var name command in EXEC mode. CLI session variables are useful for scripts that you execute periodically.

The following example shows how to create a user-defined CLI session variable:

switch# cli var name testinterface fc 1/1  

You can reference a variable using the syntax $(variable). The following example shows how to reference a user-defined CLI session variable:

switch# show interface $(testinterface)  
fc2/1 is up 
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN) 
    Port WWN is 20:01:00:0d:ec:0e:1d:00 
    Admin port mode is auto, trunk mode is on 
    snmp traps are enabled 
    Port mode is F, FCID is 0x01000b 
    Port vsan is 1 
    Speed is 2 Gbps 
    Transmit B2B Credit is 7 
    Receive B2B Credit is 16 
    Receive data field Size is 2112 
    Beacon is turned off 
    5 minutes input rate 256 bits/sec, 32 bytes/sec, 1 frames/sec 
    5 minutes output rate 256 bits/sec, 32 bytes/sec, 1 frames/sec 
      232692 frames input, 7447280 bytes 
        0 discards, 0 errors 
        0 CRC,  0 unknown class 
        0 too long, 0 too short 
      232691 frames output, 7448692 bytes 
        0 discards, 0 errors 
      0 input OLS, 0 LRR, 0 NOS, 0 loop inits 
      1 output OLS, 1 LRR, 0 NOS, 1 loop inits 
      16 receive B2B credit remaining 
      7 transmit B2B credit remaining 

Use the show cli variables command to display user-defined CLI session variables. The following example displays user-defined CLI session variables:

switch# show cli variables  
VSH Variable List 
----------------- 
TIMESTAMP="2005-10-24-21.29.33" 
testinterface="fc 1/1" 

Use the cli no var name command to remove user-defined CLI session variables. The following example removes a user-defined CLI session variable:

switch# cli no var name testinterface  

Using Command Aliases

Command alias support has the following characteristics:

Command aliases are global for all user sessions.

Command aliases are saved across reboots.

Commands being aliased must be typed in full without abbreviation.

Command alias translation always takes precedence over any keyword in any configuration mode or submode.

Command alias support is only available on the supervisor module, not the switching modules.

Command alias configuration takes effect for other user sessions immediately.

You cannot override the default command alias alias, which aliases the show cli alias command.

Nesting of command aliases is permitted to a maximum depth of 1. One command alias can refer to another command alias that must refer to a valid command, not to another command alias.

A command alias always replaces the first command keyword on the command line.

You can define command aliases for commands in any configuration submode or the EXEC mode.

Defining Command Aliases

You can define command aliases using the cli alias name command in configuration mode.

This following example shows how to define command aliases:

switch# configure terminal  
switch(config)# cli alias name eth interface ethernet  
switch(config)# cli alias name shintbr show interface brief  
switch(config)# cli alias name shfcintup shintbr | include up | include fc  

You can display the command aliases defined on the switch using the alias default command alias.

The following example shows how to display the command aliases defined on the switch:

switch# alias  
CLI alias commands 
================== 
alias      :show cli alias 
gigint     :interface gigabitethernet 
shintbr    :show interface brief 
shfcintup  :shintbr | include up | include fc 

Command Scripts

This section includes the following topics:

Executing Commands Specified in a Script

Using CLI Variables in Scripts

Setting the Delay Time

Executing Commands Specified in a Script

The run-script command executes the commands specified in a file. To use this command, be sure to create the file and specify commands in the required order.


Note You cannot create the script file at the switch prompt. You can create the script file on an external machine and copy it to the bootflash: directory. This section assumes that the script file resides in the bootflash: directory.


The syntax for this command is run-script filename.

This example displays the CLI commands specified in a test file that resides in the bootflash: directory.

switch# show file bootflash:testfile  
configure terminal 
interface fc 3/1 
no shutdown 
end 
show interface fc 3/1 

This file output is in response to the run-script command executing the contents in the test file:

switch# run-script bootflash:testfile  
'configure terminal' 
Enter configuration commands, one per line. End with CNTL/Z. 
'interface fc 3/1' 
'no shutdown' 
'end' 
'show interface fc 3/1' 
fc3/1 is trunking 
    Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN) 
    Port WWN is 20:81:00:0d:ec:6b:cd:c0 
    Peer port WWN is 20:01:00:0d:ec:0d:d0:00 
    Admin port mode is auto, trunk mode is on 
    snmp link state traps are enabled 
    Port mode is TE 
    Port vsan is 1 
    Speed is 2 Gbps 
    Transmit B2B Credit is 255 
    Receive B2B Credit is 16 
    Receive data field Size is 2112 
    Beacon is turned off 
    Trunk vsans (admin allowed and active) (1) 
    Trunk vsans (up)                       (1) 
    Trunk vsans (isolated)                 () 
    Trunk vsans (initializing)             () 
    5 minutes input rate 96 bits/sec, 12 bytes/sec, 0 frames/sec 
    5 minutes output rate 64 bits/sec, 8 bytes/sec, 0 frames/sec 
      77423 frames input, 6708868 bytes 
        0 discards, 0 errors 
        0 CRC,  0 unknown class 
        0 too long, 0 too short 
      77302 frames output, 4184976 bytes 
        0 discards, 0 errors 
      1 input OLS, 2 LRR, 0 NOS, 0 loop inits 
      1 output OLS, 0 LRR, 1 NOS, 0 loop inits 
      16 receive B2B credit remaining 
      255 transmit B2B credit remaining 

Using CLI Variables in Scripts

You can use CLI variables defined by the cli var command (see the "Using CLI Variables" section) or passed as arguments in the run-script command.

The following example shows how to use CLI session variables in a script file used by the run-script command:

switch# cli var name testinterface fc 1/1  
switch# show file bootflash:test1.vsh  
show interface $(testvar)  
switch# run-script bootflash:test1.vsh  
`show interface $(testvar)`  
fc2/1 is down (SFP not present) 
Hardware is Fibre Channel 
Port WWN is 20:01:00:05:30:00:8e:1e 
Admin port mode is auto, trunk mode is on 
Port vsan is 1 
Receive data field Size is 2112 
Beacon is turned off 
5 minutes input rate 0 bits/sec, 0 bytes/sec, 0 frames/sec 
5 minutes output rate 0 bits/sec, 0 bytes/sec, 0 frames/sec 
1 frames input, 128 bytes 
0 discards, 0 errors 
0 CRC, 0 unknown class 
0 too long, 0 too short 
1 frames output, 128 bytes 
0 discards, 0 errors 
0 input OLS, 0 LRR, 0 NOS, 0 loop inits 
0 output OLS, 0 LRR, 0 NOS, 0 loop inits 
0 receive B2B credit remaining 
0 transmit B2B credit remaining 

The following example shows how you can pass CLI session variable as arguments to a child run-script command process:

switch# show file bootflash:test1.vsh  
show interface $(var1) $(var2) 
switch# run bootflash:test2.vsh var1="fc2/1" var2="brief"  
`show interface $(var1) $(var2)` 
------------------------------------------------------------------------------- 
Interface  Vsan   Admin  Admin   Status          SFP    Oper  Oper   Port 
                  Mode   Trunk                          Mode  Speed  Channel 
                         Mode                                 (Gbps) 
-------------------------------------------------------------------------------  
fc2/1 1 auto on sfpAbsent -- -- -- \ 

Setting the Delay Time

The sleep command delays an action by a specified number of seconds.

The syntax for this command is sleep seconds.

switch# sleep 30  

You will see the switch prompt return after 30 seconds. This command is useful within scripts. For example, if you create a command script called test-script.

switch# show file bootflash:test-script  
discover scsi-target remote  
sleep 10  
show scsi-target disk  
switch# run-script bootflash:test-script  

When you execute the test-script command script, the switch software executes the discover scsi-target remote command, and then waits for 10 seconds before executing the show scsi-target disk command.