Understanding the Command Line Interface

This chapter contains the following sections:

About the CLI Prompt

Once you have successfully accessed the device, the CLI prompt displays in the terminal window of your console port or remote workstation as shown in the following example:


User Access Verification 
login: admin
Password:<password> 
Cisco Nexus Operating System (NX-OS) Software 
TAC support: http://www.cisco.com/tac 
Copyright (c) 2002-2013, Cisco Systems, Inc. All rights reserved. 
The copyrights to certain works contained in this software are 
owned by other third parties and used and distributed under 
license. Certain components of this software are licensed under 
the GNU General Public License (GPL) version 2.0 or the GNU 
Lesser General Public License (LGPL) Version 2.1. A copy of each 
such license is available at 
http://www.opensource.org/licenses/gpl-2.0.php and 
http://www.opensource.org/licenses/lgpl-2.1.php 
switch# 

You can change the default device hostname.

From the CLI prompt, you can do the following:

  • Use CLI commands for configuring features

  • Access the command history

  • Use command parsing functions


Note

In normal operation, usernames are case sensitive. However, when you are connected to the device through its console port, you can enter a login username in all uppercase letters regardless of how the username was defined. As long as you provide the correct password, the device logs you in.


Command Modes

This section describes command modes in the Cisco NX-OS CLI.

EXEC Command Mode

When you first log in, the Cisco NX-OS software places you in EXEC mode. The commands available in EXEC mode include the show commands that display the device status and configuration information, the clear commands, and other commands that perform actions that you do not save in the device configuration.

Global Configuration Command Mode

Global configuration mode provides access to the broadest range of commands. The term indicates characteristics or features that affect the device as a whole. You can enter commands in global configuration mode to configure your device globally or to enter more specific configuration modes to configure specific elements such as interfaces or protocols.

SUMMARY STEPS

  1. configure terminal

DETAILED STEPS

Command or Action Purpose

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Note 

The CLI prompt changes to indicate that you are in global configuration mode.

Interface Configuration Command Mode

One example of a specific configuration mode that you enter from global configuration mode is interface configuration mode. To configure interfaces on your device, you must specify the interface and enter interface configuration mode.

You must enable many features on a per-interface basis. Interface configuration commands modify the operation of the interfaces on the device, such as Ethernet interfaces or management interfaces (mgmt 0).

For more information about configuring interfaces, see the Cisco Nexus 3400-S Series NX-OS Interfaces Configuration Guide.

SUMMARY STEPS

  1. configure terminal
  2. interface type number

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface type number

Example:

switch(config)# interface ethernet 2/2
switch(config-if)# 

Specifies the interface that you want to configure.

The CLI places you into interface configuration mode for the specified interface.

Note 

The CLI prompt changes to indicate that you are in interface configuration mode.

Subinterface Configuration Command Mode

From global configuration mode, you can access a configuration submode for configuring VLAN interfaces called subinterfaces. In subinterface configuration mode, you can configure multiple virtual interfaces on a single physical interface. Subinterfaces appear to a protocol as distinct physical interfaces.

Subinterfaces also allow multiple encapsulations for a protocol on a single interface. For example, you can configure IEEE 802.1Q encapsulation to associate a subinterface with a VLAN.

For more information about configuring subinterfaces, see the Cisco Nexus 3400-S Series NX-OS Interfaces Configuration Guide.

SUMMARY STEPS

  1. configure terminal
  2. interface type number.subint

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

interface type number.subint

Example:

switch(config)# interface ethernet 2/2.1
switch(config-subif)# 

Specifies the VLAN interface to be configured.

The CLI places you into a subinterface configuration mode for the specified VLAN interface.

Note 

The CLI prompt changes to indicate that you are in subinterface configuration mode.

Saving and Restoring a Command Mode

The Cisco NX-OS software allows you to save the current command mode, configure a feature, and then restore the previous command mode. The push command saves the command mode, and the pop command restores the command mode.

The following example shows how to save and restore a command mode:

switch# configure terminal
switch(config)# event manager applet test 
switch(config-applet)# push 
switch(config-applet)# configure terminal  
switch(config)# username testuser password newtest
switch(config)# pop 
switch(config-applet)#
 

Exiting a Configuration Command Mode

SUMMARY STEPS

  1. exit
  2. end
  3. (Optional) Ctrl-Z

DETAILED STEPS

  Command or Action Purpose
Step 1

exit

Example:

switch(config-if)# exit 
switch(config)# 
 

Exits from the current configuration command mode and returns to the previous configuration command mode.

Step 2

end

Example:

switch(config-if)# end 
switch# 
 

Exits from the current configuration command mode and returns to EXEC mode.

Step 3

(Optional) Ctrl-Z

Example:

switch(config-if)# ^Z 
switch# 
 
(Optional)

Exits the current configuration command mode and returns to EXEC mode.

Caution 

If you press Ctrl-Z at the end of a command line in which a valid command has been typed, the CLI adds the command to the running configuration file. In most cases, you should exit a configuration mode using the exit or end command.

Command Mode Summary

This table summarizes information about the main command modes.

Table 1. Command Mode Summary

Mode

Access Method

Prompt

Exit Method

EXEC

From the login prompt, enter your username and password.


switch#

To exit to the login prompt, use the exit command.

Global configuration

From EXEC mode, use the configure terminal command.


switch(config)#

To exit to EXEC mode, use the end or exit command or press Ctrl-Z.

Interface configuration

From global configuration mode, specify an interface with an interface command.


switch(config-if)#

To exit to global configuration mode, use the exit command.

To exit to EXEC mode, use the exit command or press Ctrl-Z.

Subinterface configuration

From global configuration mode, specify a subinterface with an interface command.


switch(config-subif)#

To exit to global configuration mode, use the exit command.

To exit to EXEC mode, use the end command or press Ctrl-Z.

VRF configuration

From global configuration mode, use the vrf command and specify a routing protocol.


switch(config-vrf)#

To exit to global configuration mode, use the exit command.

To exit to EXEC mode, use the end command or press Ctrl-Z.

EXEC for a nondefault VRF

From EXEC mode, use the routing-context vrf command and specify a VRF.


switch-red#

To exit to the default VRF, use the routing-context vrf default command.

Special Characters

This table lists the characters that have special meaning in Cisco NX-OS text strings and should be used only in regular expressions or other special contexts.

Table 2. Special Characters

Character

Description

%

Percent

#

Pound, hash, or number

...

Ellipsis

|

Vertical bar

< >

Less than or greater than

[ ]

Brackets

{ }

Braces

Keystroke Shortcuts

This table lists command key combinations that can be used in both EXEC and configuration modes.

Table 3. Keystroke Shortcuts

Keystrokes

Description

Ctrl-A

Moves the cursor to the beginning of the line.

Ctrl-B

Moves the cursor one character to the left. When you enter a command that extends beyond a single line, you can press the Left Arrow or Ctrl-B keys repeatedly to scroll back toward the system prompt and verify the beginning of the command entry, or you can press the Ctrl-A key combination.

Ctrl-C

Cancels the command and returns to the command prompt.

Ctrl-D

Deletes the character at the cursor.

Ctrl-E

Moves the cursor to the end of the line.

Ctrl-F

Moves the cursor one character to the right.

Ctrl-G

Exits to the previous command mode without removing the command string.

Ctrl-K

Deletes all characters from the cursor to the end of the command line.

Ctrl-L

Redisplays the current command line.

Ctrl-N

Displays the next command in the command history.

Ctrl-O

Clears the terminal screen.

Ctrl-P

Displays the previous command in the command history.

Ctrl-R

Redisplays the current command line.

Ctrl-T

Transposes the character under the cursor with the character located to the right of the cursor. The cursor is then moved to the right one character.

Ctrl-U

Deletes all characters from the cursor to the beginning of the command line.

Ctrl-V

Removes any special meaning for the following keystroke. For example, press Ctrl-V before entering a question mark (?) in a regular expression.

Ctrl-W

Deletes the word to the left of the cursor.

Ctrl-X, H

Lists the history of commands you have entered.

When using this key combination, press and release the Ctrl and X keys together before pressing H.

Ctrl-Y

Recalls the most recent entry in the buffer (press keys simultaneously).

Ctrl-Z

Ends a configuration session, and returns you to EXEC mode.

When used at the end of a command line in which a valid command has been typed, the resulting configuration is first added to the running configuration file.

Up arrow key

Displays the previous command in the command history.

Down arrow key

Displays the next command in the command history.

Right arrow key

Left arrow key

Moves your cursor through the command string, either forward or backward, allowing you to edit the current command.

?

Displays a list of available commands.

Tab

Completes the word for you after you enter the first characters of the word and then press the Tab key. All options that match are presented.

Use tabs to complete the following items:

  • Command names

  • Scheme names in the file system

  • Server names in the file system

  • Filenames in the file system

Example:


switch(config)# xm<Tab>
switch(config)# xml<Tab>
switch(config)# xml server

Example:


switch(config)# c<Tab>
callhome  class-map  clock 
cdp       cli        control-plane
switch(config)# cl<Tab>
class-map   cli         clock 
switch(config)# cla<Tab> 
switch(config)# class-map

Example:


switch# cd bootflash:<Tab>
bootflash:///
bootflash://sup-1/ 
bootflash://sup-active/ 
bootflash://sup-local/
bootflash://module-27/
bootflash://module-28/

Example:


switch# cd bootflash://mo<Tab> 
bootflash://module-27/ bootflash://module-28/
switch# cd bootflash://module-2
Note 

You cannot access remote machines using the cd command. If you are on slot 27 and enter the cd bootflash://module-28 command, the following message appears: "Changing directory to a non-local server is not allowed."

Abbreviating Commands

You can abbreviate commands and keywords by entering the first few characters of a command. The abbreviation must include sufficient characters to make it unique from other commands or keywords. 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.

This table lists examples of command abbreviations.

Table 4. Examples of Command Abbreviations

Command

Abbreviation

configure terminal

conf t

copy running-config startup-config

copy run start

interface ethernet 1/2

int e 1/2

show running-config

sh run

Completing a Partial Command Name

If you cannot remember a complete command name or if you want to reduce the amount of typing you have to perform, enter the first few letters of the command, and then press the Tab key. The command line parser will complete the command if the string entered is unique to the command mode. If your keyboard does not have a Tab key, press Ctrl-I instead.

The CLI recognizes a command once you have entered enough characters to make the command unique. For example, if you enter conf in EXEC mode, the CLI will be able to associate your entry with the configure command, because only the configure command begins with conf.

In the following example, the CLI recognizes the unique string for conf in EXEC mode when you press the Tab key:

switch# conf<Tab>
switch# configure
 

When you use the command completion feature, the CLI displays the full command name. The CLI does not execute the command until you press the Return or Enter key. This feature allows you to modify the command if the full command was not what you intended by the abbreviation. If you enter a set of characters that could indicate more than one command, a list of matching commands displays.

For example, entering co<Tab> lists all commands available in EXEC mode beginning with co:

switch# co<Tab>
configure   copy
switch# co 
 

Note that the characters you entered appear at the prompt again to allow you to complete the command entry.

Identifying Your Location in the Command Hierarchy

Some features have a configuration submode hierarchy nested more than one level. In these cases, you can display information about your present working context (PWC).

SUMMARY STEPS

  1. where detail

DETAILED STEPS

Command or Action Purpose

where detail

Example:


switch# configure terminal
switch(config)# interface mgmt0
switch(config-if)# where detail
mode:                conf
                         interface mgmt0
  username:            admin

  routing-context vrf: default

Displays the PWC.

Using the no Form of a Command

Almost every configuration command has a no form that can be used to disable a feature, revert to a default value, or remove a configuration.

This example shows how to disable a feature:

switch# configure terminal 
switch(config)# feature tacacs+
switch(config)# no feature tacacs+

This example shows how to revert to the default value for a feature:

switch# configure terminal 
switch(config)# banner motd #Welcome to the switch# 
switch(config)# show banner motd
Welcome to the switch 

switch(config)# no banner motd
switch(config)# show banner motd
User Access Verification

This example shows how to remove the configuration for a feature:

switch# configure terminal
switch(config)# radius-server host 10.10.2.2
switch(config)# show radius-server
retransmission count:0 
timeout value:1 
deadtime value:1 
total number of servers:1 

following RADIUS servers are configured:
        10.10.1.1:
                available for authentication on port:1812
                available for accounting on port:1813
        10.10.2.2:
                available for authentication on port:1812
                available for accounting on port:1813
 
switch(config)# no radius-server host 10.10.2.2
switch(config)# show radius-server
retransmission count:0 
timeout value:1 
deadtime value:1 
total number of servers:1 

following RADIUS servers are configured:
        10.10.1.1:
                available for authentication on port:1812
                available for accounting on port:1813

This example shows how to use the no form of a command in EXEC mode:

switch# cli var name testinterface ethernet1/2 
switch# show cli variables
SWITCHNAME="switch"
TIMESTAMP="2013-05-12-13.43.13"
testinterface="ethernet1/2"

switch# cli no var name testinterface
switch# show cli variables
SWITCHNAME="switch"
TIMESTAMP="2013-05-12-13.43.13"

Configuring CLI Variables

This section describes CLI variables in the Cisco NX-OS CLI.

About CLI Variables

The Cisco NX-OS software supports the definition and use of variables in CLI commands.

You can refer to CLI variables in the following ways:

  • Entered directly on the command line.
  • Passed to a 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.

CLI variables have the following characteristics:

  • Cannot have nested references through another variable
  • Can persist across switch reloads or exist only for the current session

Cisco NX-OS supports one predefined variable: TIMESTAMP. This variable refers to the current time when the command executes in the format YYYY-MM-DD-HH.MM.SS.


Note

The TIMESTAMP variable name is case sensitive. All letters must be uppercase.

Configuring CLI Session-Only Variables

You can define CLI session variables to persist only for the duration of your CLI session. These variables are useful for scripts that you execute periodically. You can reference the variable by enclosing the name in parentheses and preceding it with a dollar sign ($), for example $(variable-name).

SUMMARY STEPS

  1. cli var name variable-name variable-text
  2. (Optional) show cli variables

DETAILED STEPS

  Command or Action Purpose
Step 1

cli var name variable-name variable-text

Example:

switch# cli var name testinterface ethernet 2/1

Configures the CLI session variable. The variable-name argument is alphanumeric, case sensitive, and has a maximum length of 31 characters. The variable-text argument is alphanumeric, case sensitive, can contain spaces, and has a maximum length of 200 characters.

Note 

Variables can include hyphens (-) and underscores (_).

Step 2

(Optional) show cli variables

Example:

switch# show cli variables
(Optional)

Displays the CLI variable configuration.

Configuring Persistent CLI Variables

You can configure CLI variables that persist across CLI sessions and device reloads.

SUMMARY STEPS

  1. configure terminal
  2. cli var name variable-name variable-text
  3. exit
  4. (Optional) show cli variables
  5. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

cli var name variable-name variable-text

Example:

switch(config)# cli var name testinterface ethernet 2/1

Configures the CLI persistent variable. The variable name is a case-sensitive, alphanumeric string and must begin with an alphabetic character. The maximum length is 31 characters.

Note 

Variables can include hyphens (-) and underscores (_).

Step 3

exit

Example:

switch(config)# exit
switch#

Exits global configuration mode.

Step 4

(Optional) show cli variables

Example:

switch# show cli variables
(Optional)

Displays the CLI variable configuration.

Step 5

(Optional) copy running-config startup-config

Example:

switch(config)# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Command Aliases

This section provides information about command aliases.

About Command Aliases

You can define command aliases to replace frequently used commands. The command aliases can represent all or part of the command syntax.

Command alias support has the following characteristics:

  • Command aliases are global for all user sessions.

  • Command aliases persist across reboots if you save them to the startup configuration.

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

  • Command alias configuration takes effect for other user sessions immediately.

  • The Cisco NX-OS software provides one default alias, alias, which is the equivalent to the show cli alias command that displays all user-defined aliases.

  • You cannot delete or change the default command alias alias.

  • You can nest aliases 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 command mode.

  • If you reference a CLI variable in a command alias, the current value of the variable appears in the alias, not the variable reference.

  • You can use command aliases for show command searching and filtering.

Defining Command Aliases

You can define command aliases for commonly used commands.

SUMMARY STEPS

  1. configure terminal
  2. cli alias name alias-name alias-text
  3. exit
  4. (Optional) alias
  5. (Optional) copy running-config startup-config

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

cli alias name alias-name alias-text

Example:

switch(config)# cli alias name ethint interface ethernet

Configures the command alias. The alias name is an alphanumeric string that is not case sensitive and must begin with an alphabetic character. The maximum length is 30 characters.

Step 3

exit

Example:

switch(config)# exit
switch#

Exits global configuration mode.

Step 4

(Optional) alias

Example:

switch# alias
(Optional)

Displays the command alias configuration.

Step 5

(Optional) copy running-config startup-config

Example:

switch# copy running-config startup-config
(Optional)

Copies the running configuration to the startup configuration.

Configuring Command Aliases for a User Session

You can create a command alias for the current user session that is not available to any other user on the Cisco NX-OS device. You can also save the command alias for future use by the current user account.

SUMMARY STEPS

  1. terminal alias [persist] alias-name command-string

DETAILED STEPS

Command or Action Purpose

terminal alias [persist] alias-name command-string

Example:

switch# terminal alias shintbr show interface brief

Configures a command alias for the current user session. Use the persist keyword to save the alias for future use by the user account.

Note 

Do not abbreviate the persist keyword.

Command Scripts

This section describes how you can create scripts of commands to perform multiple tasks.

Running a Command Script

You can create a list of commands in a file and execute them from the CLI. You can use CLI variables in the command script.


Note

You cannot create the script files at the CLI prompt. You can create the script file on a remote device and copy it to the bootflash: or volatile: directory on the Cisco NX-OS device.


SUMMARY STEPS

  1. run-script [bootflash: | volatile:] filename

DETAILED STEPS

Command or Action Purpose

run-script [bootflash: | volatile:] filename

Example:

switch# run-script testfile

Executes the commands in the file on the default directory.

Echoing Information to the Terminal

You can echo information to the terminal, which is particularly useful from a command script. You can reference CLI variables and use formatting options in the echoed text.

This table lists the formatting options that you can insert in the text.

Table 5. Formatting Options for the echo Command

Formatting Option

Description

\b

Inserts back spaces.

\c

Removes the new line character at the end of the text string.

\f

Inserts a form feed character.

\n

Inserts a new line character.

\r

Returns to the beginning of the text line.

\t

Inserts a horizontal tab character.

\v

Inserts a vertical tab character.

\\

Displays a backslash character.

\nnn

Displays the corresponding ASCII octal character.

SUMMARY STEPS

  1. echo [backslash-interpret] [text]

DETAILED STEPS

Command or Action Purpose

echo [backslash-interpret] [text]

Example:

switch# echo This is a test.
This is a test.

The backslash-interpret keyword indicates that the text string contains formatting options. The text argument is alphanumeric, case sensitive, and can contain blanks. The maximum length is 200 characters. The default is a blank line.

Delaying Command Action

You can delay a command action for a period of time, which is particularly useful within a command script.

SUMMARY STEPS

  1. sleep seconds

DETAILED STEPS

Command or Action Purpose

sleep seconds

Example:

switch# sleep 30

Causes a delay for a number of seconds. The range is from 0 to 2147483647.

Context-Sensitive Help

The Cisco NX-OS software provides context-sensitive help in the CLI. You can use a question mark (?) at any point in a command to list the valid input options.

CLI uses the caret (^) symbol to isolate input errors. The ^ symbol appears at the point in the command string where you have entered an incorrect command, keyword, or argument.

This table shows example outputs of context sensitive help.

Table 6. Context-Sensitive Help Example

Example Outputs

Description


switch# clock ?
  set  HH:MM:SS Current Time 
switch# clock

Displays the command syntax for the clock command in EXEC mode.

The switch output shows that the set keyword is required for using the clock command.

switch# clock set ?
  WORD  HH:MM:SS Current Time 
switch# clock set 

Displays the command syntax for setting the time.

The help output shows that the current time is required for setting the clock and how to format the time.

switch# clock set 13:32:00<CR> 
% Incomplete command 
switch# 

Adds the current time.

The CLI indicates the command is incomplete.

switch# <Ctrl-P>
switch# clock set 13:32:00

Displays the previous command that you entered.

switch# clock set 13:32:00 ?
  <1-31>     Day of the month
switch# clock set 13:32:00

Displays the additional arguments for the clock set command.


switch# clock set 13:32:00 18 ?
  April      Month of the year
  August     Month of the year
  December   Month of the year
  February   Month of the year
  January    Month of the year
  July       Month of the year
  June       Month of the year
  March      Month of the year
  May        Month of the year
  November   Month of the year
  October    Month of the year
  September  Month of the year 
switch# clock set 13:32:00 18

Displays the additional arguments for the clock set command.


switch# clock set 13:32:00 18 April 13<CR>
% Invalid input detected at '^' marker.

Adds the date to the clock setting.

The CLI indicates an error with the caret symbol (^) at 13.


switch# clock set 13:32:00 18 April ?
  <2000-2030>  Enter the year (no abbreviation) 
switch# clock set 13:32:00 18 April

Displays the correct arguments for the year.


switch# clock set 13:32:00 18 April 2013<CR>
switch#

Enters the correct syntax for the clock set command.

Understanding Regular Expressions

The Cisco NX-OS software supports regular expressions for searching and filtering in CLI output, such as the show commands. Regular expressions are case sensitive and allow for complex matching requirements.

Special Characters

You can also use other keyboard characters (such as ! or ~) as single-character patterns, but certain keyboard characters have special meanings when used in regular expressions.

This table lists the keyboard characters that have special meanings.

Table 7. Special Characters with Special Meaning

Character

Special Meaning

.

Matches any single character, including white space.

*

Matches 0 or more sequences of the pattern.

+

Matches 1 or more sequences of the pattern.

?

Matches 0 or 1 occurrences of the pattern.

^

Matches the beginning of the string.

$

Matches the end of the string.

_ (underscore)

Matches a comma (,), left brace ({), right brace (}), left parenthesis ( ( ), right parenthesis ( ) ), the beginning of the string, the end of the string, or a space.

Note 

The underscore is only treated as a regular expression for BGP-related commands

To use these special characters as single-character patterns, remove the special meaning by preceding each character with a backslash (\). This example contains single-character patterns that match a dollar sign ($), an underscore (_), and a plus sign (+), respectively:

\$ \_ \+

Multiple-Character Patterns

You can also specify a pattern that contains multiple characters by joining letters, digits, or keyboard characters that do not have special meanings. For example, a4% is a multiple-character regular expression.

With multiple-character patterns, the order is important. The regular expression a4% matches the character a followed by a 4 followed by a percent sign (%). If the string does not have a4%, in that order, pattern matching fails. The multiple-character regular expression a. (the character a followed by a period) uses the special meaning of the period character to match the letter a followed by any single character. With this example, the strings ab, a!, or a2 are all valid matches for the regular expression.

You can remove the special meaning of a special character by inserting a backslash before it. For example, when the expression a\. is used in the command syntax, only the string a. will be matched.

Anchoring

You can match a regular expression pattern against the beginning or the end of the string by anchoring these regular expressions to a portion of the string using the special characters.

This table lists the special characters that you can use for anchoring.

Table 8. Special Characters Used for Anchoring

Character

Description

^

Matches the beginning of the string.

$

Matches the end of the string.

For example, the regular expression ^con matches any string that starts with con, and sole$ matches any string that ends with sole.


Note

The ^ symbol can also be used to indicate the logical function "not" when used in a bracketed range. For example, the expression [^abcd] indicates a range that matches any single letter, as long as it is not a, b, c, or d.


Searching and Filtering show Command Output

Often, the output from show commands can be lengthy and cumbersome. The Cisco NX-OS software provides the means to search and filter the output so that you can easily locate information. The searching and filtering options follow a pipe character (| ) at the end of the show command. You can display the options using the CLI context-sensitive help facility:

switch# show running-config | ? 
  cut      Print selected parts of lines.
  diff     Show difference between current and previous invocation (creates temp files:
           remove them with 'diff-clean' command and don't use it on commands with big
           outputs, like 'show tech'!)
  egrep    Egrep - print lines matching a pattern
  grep     Grep - print lines matching a pattern
  head     Display first lines
  human    Output in human format
  last     Display last lines
  less     Filter for paging
  no-more  Turn-off pagination for command output
  perl     Use perl script to filter output
  section  Show lines that include the pattern as well as the subsequent lines that are
           more indented than matching line
  sed      Stream Editor
  sort     Stream Sorter
  sscp     Stream SCP (secure copy)
  tr       Translate, squeeze, and/or delete characters
  uniq     Discard all but one of successive identical lines
  vsh      The shell that understands cli command
  wc       Count words, lines, characters
  xml      Output in xml format (according to .xsd definitions)
  begin    Begin with the line that matches
  count    Count number of lines
  end      End with the line that matches
  exclude  Exclude lines that match
  include  Include lines that match

Filtering and Searching Keywords

The Cisco NX-OS CLI provides a set of keywords that you can use with the show commands to search and filter the command output.

This table lists the keywords for filtering and searching the CLI output.

Table 9. Filtering and Searching Keywords

Keyword Syntax

Description

begin string

Example:
show version | begin Hardware

Starts displaying at the line that contains the text that matches the search string. The search string is case sensitive.

count

Example:
show running-config | count

Displays the number of lines in the command output.

cut [-d character] {-b | -c | -f | -s}

Example:
show file testoutput | cut -b 1-10

Displays only part of the output lines. You can display a number of bytes (-b ), characters (-vcut [-d character] {-b | -c | -f | -s} ), or fields (-f ). You can also use the -d keyword to define a field delimiter other than the tag character default. The -s keyword suppresses the display of the line that does not contain the delimiter.

end string

Example:
show running-config | end interface

Displays all lines up to the last occurrence of the search string.

exclude string

Example:
show interface brief | exclude down

Displays all lines that do not include the search string. The search string is case sensitive.

head [lines lines]

Example:
show logging logfile | head lines 50

Displays the beginning of the output for the number of lines specified. The default number of lines is 10.

human

Example:
show version | human

Displays the output in normal format if you have previously set the output format to XML using the terminal output xml command.

include string

Example:
show interface brief | include up

Displays all lines that include the search string. The search string is case sensitive.

last [lines]

Example:
show logging logfile | last 50

Displays the end of the output for the number of lines specified. The default number of lines is 10.

no-more

Example:
show interface brief | no-more

Displays all the output without stopping at the end of the screen with the ––More–– prompt.

sscp SSH-connection-name filename

Example:
show version | sscp MyConnection 
show_version_output

Redirects the output using streaming secure copy (sscp) to a named SSH connection. You can create the SSH named connection using the ssh name command.

wc [bytes | lines | words]

Example:
show file testoutput | wc bytes

Displays counts of characters, lines, or words. The default is to display the number of lines, words, and characters.

xml

Example:
show version | xml

Displays the output in XML format.

diff Utility

You can compare the output from a show command with the output from the previous invocation of that command.

diff-clean [all-sessions] [all-users]

This table describes the keywords for the diff utility.

Keyword Description
all-sessions Removes diff temporary files from all sessions (past and present sessions) of the current user.
all-users Removes diff temporary files from all sessions (past and present sessions) of all users.

The Cisco NX-OS software creates temporary files for the most current output for a show command for all current and previous users sessions. You can remove these temporary files using the diff-clean command.

diff-clean [all-sessions | all-users]

By default, the diff-clean command removes the temporary files for the current user's active session. The all-sessions keyword removes temporary files for all past and present sessions for the current user. The all-users keyword removes temporary files for all past and present sessions for the all users.

grep and egrep Utilities

You can use the Global Regular Expression Print (grep) and Extended grep (egrep) command-line utilities to filter the show command output.

The grep and egrep syntax is as follows:

{grep | egrep} [count] [ignore-case] [invert-match] [line-exp] [line-number] [next lines] [prev lines] [word-exp] expression }]

This table lists the grep and egrep parameters.

Table 10. grep and egrep Parameters

Parameter

Description

count

Displays only the total count of matched lines.

ignore-case

Specifies to ignore the case difference in matched lines.

invert-match

Displays lines that do not match the expression.

line-exp

Displays only lines that match a complete line.

line-number

Specifies to display the line number before each matched line.

next lines

Specifies the number of lines to display after a matched line. The default is 0. The range is from 1 to 999.

prev lines

Specifies the number of lines to display before a matched line. The default is 0. The range is from 1 to 999.

word-exp

Displays only lines that match a complete word.

expression

Specifies a regular expression for searching the output.

less Utility

You can use the less utility to display the contents of the show command output one screen at a time. You can enter less commands at the : prompt. To display all less commands you can use, enter h at the : prompt.

Mini AWK Utility

AWK is a simple but powerful utility to summarize text output. You can use this utility after a pipe (|) to further process the text output of a command. Cisco NX-OS supports a mini AWK, which takes an inline program as an argument.

This example shows how the mini AWK utility can be used to summarize the text output of the show ip route summary vrf all command:

switch# show ip route summary vrf all | grep "Total number of routes"
Total number of routes: 3
Total number of routes: 10

switch# show ip route summary vrf all | grep "Total number of routes" | awk '{ x = x + $5} END { print x }'
13

sed Utility

You can use the Stream Editor (sed) utility to filter and manipulate the show command output as follows:

sed command

The command argument contains sed utility commands.

sort Utility

You can use the sort utility to filter show command output.

The sort utility syntax is as follows:

sort [-M] [-b] [-d] [-f] [-g] [-i] [-k field-number[.char-position][ordering]] [-n] [-r] [-t delimiter] [-u]

This table describes the sort utiliity parameters.

Table 11. sort Utility Parameters

Parameter

Description

-M

Sorts by month.

-b

Ignores leading blanks (space characters). The default sort includes the leading blanks.

-d

Sorts by comparing only blanks and alphanumeric characters. The default sort includes all characters.

-f

Folds lowercase characters into uppercase characters.

-g

Sorts by comparing a general numeric value.

-i

Sorts only using printable characters. The default sort includes nonprintable characters.

-k field-number[.char-position][ordering]

Sorts according to a key value. There is no default key value.

-n

Sorts according to a numeric string value.

-r

Reverses order of the sort results. The default sort output is in ascending order.

-t delimiter

Sorts using a specified delimiter. The default delimiter is the space character.

-u

Removes duplicate lines from the sort results. The sort output displays the duplicate lines.

Searching and Filtering from the --More-- Prompt

You can search and filter output from --More–- prompts in the show command output.

This table describes the --More–- prompt commands.

Table 12. --More-- Prompt Commands

Commands

Description

[lines]<space>

Displays output lines for either the specified number of lines or the current screen size.

[lines]z

Displays output lines for either the specified number of lines or the current screen size. If you use the lines argument, that value becomes the new default screen size.

[lines]<return>

Displays output lines for either the specified number of lines or the current default number of lines. The initial default is 1 line. If you use the optional lines argument, that value becomes the new default number of lines to display for this command.

[lines]d or [lines]Ctrl+shift+D

Scrolls through output lines for either the specified number of lines or the current default number of lines. The initial default is 11 lines. If you use the optional lines argument, that value becomes the new default number of lines to display for this command.

q or Q or Ctrl-C

Exits the --More–- prompt.

[lines]s

Skips forward in the output for either the specified number of lines or the current default number of lines and displays a screen of lines. The default is 1 line.

[lines]f

Skips forward in the output for either the specified number of screens or the current default number of screens and displays a screen of lines. The default is 1 screen.

=

Displays the current line number.

[count]/expression

Skips to the line that matches the regular expression and displays a screen of output lines. Use the optional count argument to search for lines with multiple occurrences of the expression. This command sets the current regular expression that you can use in other commands.

[count]n

Skips to the next line that matches the current regular expression and displays a screen of output lines. Use the optional count argument to skip past matches.

{! | :![shell-cmd]}

Executes the command specified in the shell-cmd argument in a subshell.

.

Repeats the previous command.

Using the Command History

The Cisco NX-OS software CLI allows you to access the command history for the current user session. You can recall and reissue commands, with or without modification. You can also clear the command history.

Recalling a Command

You can recall a command in the command history to optionally modify and enter again.

This example shows how to recall a command and reenter it:


switch(config)# show cli history
0  11:04:07   configure terminal
1  11:04:28   show interface ethernet 2/24
2  11:04:39     interface ethernet 2/24
3  11:05:13       no shutdown
4  11:05:19     exit
5  11:05:25   show cli history
switch(config)# !1
switch(config)# show interface ethernet 2/24

You can also use the Ctrl-P and Ctrl-N keystroke shortcuts to recall commands.

Controlling CLI History Recall

You can control the commands that you recall from the CLI history using the Ctrl-P and Ctrl-N keystroke shortcuts. Cisco NX-OS software recalls all commands from the current command mode and higher command modes. For example, if you are working in global configuration mode, the command recall keystroke shortcuts recall both EXEC mode and global configuration mode commands.

Configuring the CLI Edit Mode

You can recall commands from the CLI history using the Ctrl-P and Ctrl-N keystroke shortcuts and edit them before reissuing them. The default edit mode is emacs. You can change the edit mode to vi.

SUMMARY STEPS

  1. [no] terminal edit-mode vi [persist]

DETAILED STEPS

Command or Action Purpose

[no] terminal edit-mode vi [persist]

Example:

switch# terminal edit-mode vi

Changes the CLI edit mode to vi for the user session. The persist keyword makes the setting persistent across sessions for the current username.

Use the no to revert to using emacs.

Displaying the Command History

You can display the command history using the show cli history command.

The show cli history command has the following syntax:

show cli history [lines] [config-mode | exec-mode | this-mode-only] [unformatted]

By default, the number of lines displayed is 12 and the output includes the command number and timestamp.

This example shows how to display the default number of lines of the command history:


switch# show cli history

This example shows how to display 20 lines of the command history:


switch# show cli history 20

This example shows how to display only the configuration commands in the command history:


switch(config)# show cli history config-mode

This example shows how to display only the EXEC commands in the command history:


switch(config)# show cli history exec-mode

This example shows how to display only the commands in the command history for the current command mode:


switch(config-if)# show cli history this-mode-only

This example shows how to display only the commands in the command history without the command number and timestamp:


switch(config)# show cli history unformatted

Enabling or Disabling the CLI Confirmation Prompts

For many features, the Cisco NX-OS software displays prompts on the CLI that ask for confirmation before continuing. You can enable or disable these prompts. The default is enabled.

SUMMARY STEPS

  1. [no] terminal dont-ask [persist]

DETAILED STEPS

Command or Action Purpose

[no] terminal dont-ask [persist]

Example:

switch# terminal dont-ask

Disables the CLI confirmation prompt. The persist keyword makes the setting persistent across sessions for the current username. The default is enabled.

Use the no form of the command to enable the CLI confirmation prompts.

Setting CLI Display Colors

You can change the CLI colors to display as follows:

  • The prompt displays in green if the previous command succeeded.
  • The prompt displays in red of the previous command failed.
  • The user input displays in blue.
  • The command output displays in the default color.

The default colors are sent by the terminal emulator software.

SUMMARY STEPS

  1. terminal color [evening] [persist]

DETAILED STEPS

Command or Action Purpose

terminal color [evening] [persist]

Example:

switch# terminal color

Sets the CLI display colors for the terminal session. The evening keyword is not supported. The persist keyword makes the setting persistent across sessions for the current username. The default setting is not persistent.

Sending Commands to Modules

You can send commands directly to modules from the supervisor module session using the slot command.

The slot has the following syntax:

slot slot-number [quoted] command-string

By default, the keyword and arguments in the command-string argument are separated by a space. To send more than one command to a module, separate the commands with a space character, a semicolon character (;), and a space character.

The quoted keyword indicates that the command string begins and ends with double quotation marks ("). Use this keyword when you want to redirect the module command output to a filtering utility, such as diff, that is supported only on the supervisor module session.

This example shows how to display and filter module information:


switch# slot 27 show version | grep lc

This example shows how to filter module information on the supervisor module session:


switch# slot 27 quoted "show version" | diff
switch# slot 28 quoted "show version" | diff -c
*** /volatile/vsh_diff_1_root_8430_slot__quoted_show_version.old        Wed Apr 29 20:10:41 2013
--- -   Wed Apr 29 20:10:41 2013
***************
*** 1,5 ****
! RAM 1036860 kB
! lc27
  Software
    BIOS:      version 6.20
    system:    version 6.1(2)I1(1) [build 6.1(2)]
--- 1,5 ----
! RAM 516692 kB
! lc28
  Software
    BIOS:      version 6.20
    system:    version 6.1(2)I1(1) [build 6.1(2)]
***************
*** 12,16 ****
  Hardware
      bootflash: 0 blocks (block size 512b)
 
!    uptime is 0 days 1 hours 45 minute(s) 34 second(s)
 
--- 12,16 ----
  Hardware
      bootflash: 0 blocks (block size 512b)
 
!    uptime is 0 days 1 hours 45 minute(s) 42 second(s)

Sending Command Output in Email

You can use the CLI to send the output of a show command to an email address using the pipe operator (|).


Note

The email configuration remains persistent for all show command output until it is reconfigured.


SUMMARY STEPS

  1. configure terminal
  2. email
  3. smtp-host ip-address smtp-port port
  4. vrf management
  5. from email-address
  6. reply-to email-address
  7. exit
  8. exit
  9. show email
  10. show-command | email subject subject email-address

DETAILED STEPS

  Command or Action Purpose
Step 1

configure terminal

Example:

switch# configure terminal
switch(config)#

Enters global configuration mode.

Step 2

email

Example:

switch(config)# email
switch(config-email)#

Enters email configuration mode.

Step 3

smtp-host ip-address smtp-port port

Example:

switch(config-email)# smtp-host 198.51.100.1 smtp-port 25

Specifies the SMTP host IP address and the SMTP port number.

Step 4

vrf management

Example:

switch(config-email)# vrf management

Specifies a VRF for the email transmission.

Step 5

from email-address

Example:

switch(config-email)# from admin@Mycompany.com

Specifies the sender's email address.

Step 6

reply-to email-address

Example:

switch(config-email)# reply-to admin@Mycompany.com

Specifies the recipient's email address.

Step 7

exit

Example:

switch(config-email)# exit
switch(config)#

Exits email configuration mode.

Step 8

exit

Example:

switch(config)# exit
switch#

Exits global configuration mode.

Step 9

show email

Example:

switch# show email

Displays the email configuration.

Step 10

show-command | email subject subject email-address

Example:

switch# show interface brief | email subject show-interface admin@Mycompany.com
Email sent

Uses the pipe operator (|) to send the output of the specified show command with a subject to an email address.

BIOS Loader Prompt

When the supervisor modules power up, a specialized BIOS image automatically loads and tries to locate a valid nx-os image for booting the system. If a valid nx-os image is not found, the following BIOS loader prompt displays:


loader>
 

Examples Using the CLI

This section includes examples of using the CLI.

Using the System-Defined Timestamp Variable

This example uses $(TIMESTAMP) when redirecting show command output to a file:


switch# show running-config > rcfg.$(TIMESTAMP)
Preparing to copy....done
switch# dir
       12667     May 01 12:27:59 2013  rcfg.2013-05-01-12.27.59

Usage for bootflash://sup-local
8192 bytes used
20963328 bytes free
20971520 bytes total

Using CLI Session Variables

You can reference a variable using the syntax $(variable-name).

This example shows how to reference a user-defined CLI session variable:


switch# show interface $(testinterface)
Ethernet2/1 is down (Administratively down)
  Hardware is 10/100/1000 Ethernet, address is 0000.0000.0000 (bia 0019.076c.4dac)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA
  auto-duplex, auto-speed
  Beacon is turned off
  Auto-Negotiation is turned on
  Input flow-control is off, output flow-control is off
  Auto-mdix is turned on
  Switchport monitor is off
  Last clearing of "show interface" counters never
  5 minute input rate 0 bytes/sec, 0 packets/sec
  5 minute output rate 0 bytes/sec, 0 packets/sec
  L3 in Switched:
    ucast: 0 pkts, 0 bytes - mcast: 0 pkts, 0 bytes
  L3 out Switched:
    ucast: 0 pkts, 0 bytes - mcast: 0 pkts, 0 bytes
  Rx
    0 input packets 0 unicast packets 0 multicast packets
    0 broadcast packets 0 jumbo packets 0 storm suppression packets
    0 bytes
  Tx
    0 output packets 0 multicast packets
    0 broadcast packets 0 jumbo packets
    0 bytes
    0 input error 0 short frame 0 watchdog
    0 no buffer 0 runt 0 CRC 0 ecc
    0 overrun  0 underrun 0 ignored 0 bad etype drop
    0 bad proto drop 0 if down drop 0 input with dribble
    0 input discard
    0 output error 0 collision 0 deferred
    0 late collision 0 lost carrier 0 no carrier
    0 babble
    0 Rx pause 0 Tx pause 0 reset

Defining Command Aliases

This example shows how to define command aliases:


cli alias name ethint interface ethernet 
cli alias name shintbr show interface brief 
cli alias name shintupbr shintbr | include up | include ethernet

This example shows how to use a command alias:


switch# configure terminal
switch(config)# ethint 2/3
switch(config-if)#

Running a Command Script

This example displays the CLI commands specified in the script file:

switch# show file testfile
configure terminal
interface ethernet 2/1
no shutdown
end
show interface ethernet 2/1

This example displays the run-script command execution output:


switch# run-script testfile
`configure terminal` 
`interface ethernet 2/1` 
`no shutdown` 
`end` 
`show interface ethernet 2/1 ` 
Ethernet2/1 is down (Link not connected)
  Hardware is 10/100/1000 Ethernet, address is 0019.076c.4dac (bia 0019.076c.4dac)
  MTU 1500 bytes, BW 1000000 Kbit, DLY 10 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA
  Port mode is trunk
  auto-duplex, auto-speed
  Beacon is turned off
  Auto-Negotiation is turned on
  Input flow-control is off, output flow-control is off
  Auto-mdix is turned on
  Switchport monitor is off
  Last clearing of "show interface" counters 1d26.2uh
  5 minute input rate 0 bytes/sec, 0 packets/sec
  5 minute output rate 0 bytes/sec, 0 packets/sec
  Rx
    0 input packets 0 unicast packets 0 multicast packets
    0 broadcast packets 0 jumbo packets 0 storm suppression packets
    0 bytes
  Tx
    0 output packets 0 multicast packets
    0 broadcast packets 0 jumbo packets
    0 bytes
    0 input error 0 short frame 0 watchdog
    0 no buffer 0 runt 0 CRC 0 ecc
    0 overrun  0 underrun 0 ignored 0 bad etype drop
    0 bad proto drop 0 if down drop 0 input with dribble
    0 input discard
    0 output error 0 collision 0 deferred
    0 late collision 0 lost carrier 0 no carrier
    0 babble
    0 Rx pause 0 Tx pause 0 reset

Sending Command Output in Email

This example shows how to send the output of the show interface brief command to an email address using the pipe operator (|):

switch<config># email
switch(config-email)# smtp-host 198.51.100.1 smtp-port 25
switch(config-email)# vrf management
switch(config-email)# from admin@Mycompany.com
switch(config-email)# reply-to admin@Mycompany.com
switch(config-email)# exit
switch(config)# exit
switch# show email
SMTP host: 198.51.100.1
SMTP port: 25
Reply to: admin@Mycompany.com
From: admin@Mycompany.com
VRF: management
switch# show interface brief | email subject show-interface admin@Mycompany.com

Email sent
 
	
The email sent to admin@Mycompany.com with the subject "show-interface" shows the output of the command:


<snip>
---------------------------------------------------------------------
Ethernet 	VLAN Type Mode 		Status Reason 												Speed 				Port
Interface 																																																					Ch #
---------------------------------------------------------------------
Eth1/1 				-- 	eth 	trunk 	up 				none 															10G (D) 		--
Eth1/2 				-- 	eth 	routed down 		Link not connected 	auto(D) 		--
Eth1/3 				-- 	eth 	routed up 				none 															10G (D) 		--
Eth1/4 				-- 	eth	 routed down 		Link not connected 	auto	(D)	 --
Eth1/5 				-- 	eth 	routed down 		Link not connected 	auto	(D)	 --
Eth1/6 				-- 	eth 	routed down 		Link not connected 	auto	(D)	 --
Eth1/7 				-- 	eth 	routed down		 Link not connected 	auto	(D)	 --
Eth1/8 				-- 	eth 	routed down		 Link not connected 	auto	(D)	 --
Eth1/9 				-- 	eth 	routed down		 Link not connected 	auto	(D)	 --
Eth1/10 			-- 	eth 	routed down			Link not connected 	auto	(D)	 --
<snip>

Additional References for the CLI

This section includes additional information related to the CLI.

Related Documents for the CLI

Related Topic

Document Title

Cisco NX-OS Licensing

Cisco NX-OS Licensing Guide