Using the Command-Line Interface

This chapter describes how to use the command-line interface of the Cisco Nexus 5000 Series switch. It contains the following sections:

Accessing the Command Line Interface

You can connect to the switch using a terminal plugged into the console port.

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.

Telnet Connection

You can make a Telnet connection to a Cisco Nexus 5000 Series switch.

Before You Begin

Correctly set the console port parameters.

SUMMARY STEPS

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

    2.    At the switch login prompt, enter your username and password.

    3.    Exit the session when finished.


DETAILED STEPS
    Step 1   Make a Telnet connection from your host to the switch that you want to access.
    host$ telnet {hostname | ip-addr}
     
    Step 2   At the switch login prompt, enter your username and password.

    The Cisco Nexus 5000 Series switch initiates authentication.

    Note   

    If no password has been configured, press Return.

    Step 3   Exit the session when finished.
    switch# exit				
     

    This example shows how to make a Telnet connection to a switch:

    host$ telnet 10.0.13.42
    Trying 10.0.13.42... 
    Connected to 10.0.13.42
     Escape character is '^]'.
    switch Login: admin
    Password: password
    ...
    switch# exit
     

    SSH Connection

    You can make an SSH connection to a Cisco Nexus 5000 Series switch.

    Before You Begin

    Correctly set the console port parameters.

    SUMMARY STEPS

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

      2.    At the switch login prompt, enter your username and password.

      3.    Exit the session when finished.


    DETAILED STEPS
      Step 1   Make an SSH connection from your host to the switch that you want to access.
      host$ ssh [-D port] {[user@] hostname | ip_addr}
       
      Step 2   At the switch login prompt, enter your username and password.

      The Cisco Nexus 5000 Series switch initiates authentication.

      Note   

      If no password has been configured, press Return.

      Step 3   Exit the session when finished.
      switch# exit				
       

      This example shows how to make an SSH connection to a switch:

      host$ ssh 10.0.13.42
      The authenticity of host '(10.0.13.42)' can't be established.
      RSA key fingerprint is 53:b4:ad:c8:51:17:99:4b:c9:08:ac:c1:b6:05:71:9b.
      Are you sure you want to continue connecting (yes/no)? yes
      Warning: Permanently added '10.0.13.42' (RSA) to the list of known hosts.
      switch Login: admin
      Password: password
      ...
      switch# exit
       

      Using the CLI

      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.

      The following table 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 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
       

      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, and 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, enter the following commands:

        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
       

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

      The following table lists some useful command keys that can be used in both EXEC and configuration modes.

      Table 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

      The following table describes the commonly used configuration submodes.

      Table 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.

      • Passed as command line arguments to the run-script command.

      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

      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 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 a 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 -- -- -- \
       
      Related Information
      Using Command Aliases

      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 and then you execute the 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.

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