Home CCNA Cisco IOS Command Modes Explained: User EXEC, Privileged EXEC, and Global Configuration Modes
CCNA

Cisco IOS Command Modes Explained: User EXEC, Privileged EXEC, and Global Configuration Modes

Cisco Ios Configuration Modes Cli Example: Privileged Exec To Global Configuration Mode Transition.

Cisco IOS devices use hierarchical command modes to control access and prevent accidental misconfigurations. Whether you’re managing a router, switch, or preparing for the CCNA exam, understanding these modes is fundamental:

  • User EXEC Mode: Basic monitoring commands.
  • Privileged EXEC Mode: Advanced diagnostics and access to configuration.
  • Global Configuration Mode: Device-wide settings, and the gateway to specific configuration submodes.

Global configuration mode contains a number of sub-configuration modes (also called specific or extended configuration modes). The table below lists common configuration modes and their prompts.

ModePrompt
Global ConfigurationRouter(config)#
Interface ConfigurationRouter(config-if)#
Line ConfigurationRouter(config-line)#
Router ConfigurationRouter(config-router)#
Controller ConfigurationRouter(config-controller)#
DHCP ConfigurationRouter(dhcp-config)#

Navigating these modes fluently is one of the most heavily exercised skills in CCNA labs — almost every configuration task begins by moving into the right mode — so it’s worth getting comfortable with the transitions below.


User EXEC Mode

User EXEC Mode (or “user mode”) is the first mode you land in when you access a Cisco device. It’s a view-only mode: you can run basic monitoring commands, but you can’t change the configuration or reload the device.

Prompt: Router> Access Level: Limited (view-only).

Key Commands & Examples

  • ping 192.168.1.1 → Tests connectivity.
  • show version → Displays basic system information.
  • enable → Switches to Privileged EXEC mode.
  • show running-configFails here — this command requires Privileged EXEC mode.

The device’s default hostname is Router for routers and Switch for switches. You can change it later from global configuration mode with the hostname command.

Whether user EXEC prompts you for a password depends on how the device’s access lines (console, auxiliary, and VTY) are configured. By default, a device fresh out of the box does not require a password on the console to reach user EXEC — line passwords, local user accounts, or AAA must be configured to protect access. In a typical lab, these lines are often left unprotected, so you reach Router> immediately.

CCNA Tip: User EXEC is the default mode after login. Use disable to return here from Privileged EXEC mode.


Privileged EXEC Mode: Admin Access

Privileged EXEC mode, also known as “enable mode,” gives you full access to view the device’s configuration and status, run diagnostics, and enter configuration mode. You reach it by running the enable command from user EXEC mode. If an enable password or enable secret is configured, you’ll be prompted for it; in many lab environments it’s left unset.

Prompt: Router# Access Level: Full (read access to everything, plus the gateway to configuration).

How to Enter

Router> enable
Password: ********
Router#

Common Commands

  • show running-config → Views the current (active) configuration.
  • show startup-config → Views the saved configuration.
  • reload → Reboots the device.
  • copy running-config startup-config → Saves the running configuration.
  • configure terminal → Enters Global Configuration mode.

Note that show commands and the changes you make in EXEC mode (like clear counters) don’t persist across a reboot on their own — configuration has to be explicitly saved (see below).

Troubleshooting Example — running a configuration command in the wrong mode:

Router# interface GigabitEthernet0/0
           ^
% Invalid input detected at '^' marker.

Solution: Interface configuration commands require Global Configuration mode. Enter it first with configure terminal, then interface GigabitEthernet0/0.


Global Configuration Mode: Making Changes

Global configuration mode is where you change the device’s active (running) configuration — either applying device-wide settings directly, or stepping into a more specific submode such as interface or routing-protocol configuration. You enter it with the configure terminal command from Privileged EXEC mode.

Prompt: Router(config)# Access Level: Configuration access.

By default, the running configuration is not stored across reboots. To make your changes persist, save the running configuration to the startup configuration from Privileged EXEC mode:

Router# copy running-config startup-config

Returning to Privileged EXEC Mode

There are three ways to get back to Privileged EXEC mode from global or any specific configuration mode:

  • end — jumps straight back to Privileged EXEC mode from any configuration mode. This is the cleanest way out.
  • Ctrl + Z — does the same thing as end, from any configuration mode.
  • exit — moves you up one level. From global configuration mode, that returns you to Privileged EXEC mode; from a submode like interface configuration, exit returns you to global configuration mode rather than all the way out.

Step-by-Step: Entering a Submode

Router# configure terminal
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip address 10.1.1.1 255.255.255.0
Router(config-if)# no shutdown
Router(config-if)# end
Router#

Key Submodes

  • Interface ConfigurationRouter(config-if)# — assign IP addresses, enable interfaces, set VLAN membership.
  • Line ConfigurationRouter(config-line)# — configure the console and VTY lines for SSH/Telnet access and passwords.
  • Router ConfigurationRouter(config-router)# — configure routing protocols such as OSPF, EIGRP, and BGP.

Subconfiguration Modes at a Glance

SubmodePromptTypical Use
InterfaceRouter(config-if)#IP addresses, enabling ports, VLANs
LineRouter(config-line)#Console/VTY access, passwords, SSH
RouterRouter(config-router)#OSPF, EIGRP, BGP configuration

A useful shortcut: the do command lets you run a Privileged EXEC command (like a show command) without leaving configuration mode. For example, Router(config)# do show ip interface brief works from inside any config mode.


IOS XE vs. Traditional IOS

Many current platforms (such as the Catalyst 9000 series) run IOS XE, which keeps the familiar IOS CLI and command modes but adds programmability features on top, including:

  • Guest Shell — an on-box Linux container for running Python scripts.
  • NETCONF/RESTCONF APIs — programmatic configuration using structured data (XML or JSON) modeled in YANG, letting you configure devices via API calls instead of the CLI.

RESTCONF is enabled with a single global configuration command — it does not drop you into a dedicated submode. After enabling it, the prompt returns to global configuration mode:

Router# configure terminal
Router(config)# restconf
Router(config)#

(You typically also enable the underlying HTTPS service with ip http secure-server for RESTCONF to be reachable.) The key point for mode navigation is that restconf behaves like any other global-config setting — you enable it and stay in Router(config)#.


Troubleshooting Common Errors

Error 1: % Invalid input detected

Cause: You entered a command in the wrong mode (or mistyped it). Example and fixshow running-config doesn’t run in user EXEC mode:

Router> show running-config
           ^
% Invalid input detected at '^' marker.
Router> enable
Router# show running-config

The ^ marker points to where the parser stopped understanding the command — a useful hint for spotting exactly what’s wrong.

Error 2: % Ambiguous command

Cause: You abbreviated a command so far that it matches more than one option. Fix — type enough of the command to make it unique:

Router# co
% Ambiguous command: "co"
Router# configure terminal

(co matches both configure and copy; conf t is unambiguous and works fine.)


Setup Mode

When a Cisco device powers on, it runs a POST (power-on self-test) to check its hardware, then looks for a saved startup configuration. If it finds one, it loads it. If no startup configuration exists, the device offers Setup mode — an interactive, question-and-answer dialog that walks you through building a basic initial configuration. Based on your answers, IOS assembles a starting configuration for you. You can decline setup mode and configure the device manually instead.


ROMMON Mode

ROMMON (ROM Monitor) mode is a low-level diagnostic and recovery environment — roughly analogous to safe mode in Windows. A device enters ROMMON automatically if it can’t find a valid IOS image to load into RAM during boot. You can also enter it deliberately, most commonly to perform password recovery.

To enter ROMMON manually, send a break sequence (typically Ctrl + Break, or your terminal emulator’s “send break” function) within roughly the first 60 seconds of the boot process, before IOS finishes loading. The exact break key can vary by terminal program.

Prompt: rommon 1 >


Conclusion

Cisco IOS command modes are the foundation of working on the CLI: user EXEC for looking around, privileged EXEC for full visibility and control, and global configuration mode (with its submodes) for making changes. Get comfortable moving between them — enable, configure terminal, end, exit, and disable — and remember to save your work with copy running-config startup-config. Practice the CLI examples above, and you’ll navigate any configuration task, in the lab or on the exam, without hesitation.

FAQs

What is the difference between User EXEC and Privileged EXEC mode?

User EXEC (Router>) is view-only — basic monitoring commands like ping and show version. Privileged EXEC (Router#), reached with enable, gives full read access, diagnostics, and the gateway to configuration mode via configure terminal.

How do I enter Interface Configuration mode?

From global configuration mode, use interface followed by the type and number — for example, interface GigabitEthernet0/0. Your prompt changes to Router(config-if)#.

Why can’t I run show running-config in User EXEC mode?

It requires Privileged EXEC mode. Run enable first to switch from Router> to Router#, then run the command.

What does the do command do?

It runs a Privileged EXEC command without leaving configuration mode. For example, do show ip interface brief lets you check interface status while you’re still in Router(config)#.

How do I save configuration changes?

Run copy running-config startup-config from Privileged EXEC mode. The running configuration is active immediately but isn’t retained across a reboot until it’s saved to the startup configuration.

What’s the difference between end, exit, and Ctrl+Z?

end and Ctrl+Z both jump straight back to Privileged EXEC mode from any configuration submode. exit moves you up just one level — from a submode back to global config, or from global config back to Privileged EXEC.

About This Content

Author Expertise: 8 years of experience in BS Artificial Intelligence From SZABIST, MBA from VU, CCNA, CCNP. Certified in: BS Artificial Intelligence From SZABIST, MBA from VU, CCNA
Avatar Of Mujtaba Khattak
Mujtaba Khattak

Editor & Founder

Mujtaba Khattak is a network solutions architect specializing in SD-WAN, cloud infrastructure, and network optimization. He holds a BS in Artificial Intelligence from SZABIST, an MBA from Virtual University (VU), and Cisco certifications (CCNA and CCNP). As the founder of NetworkUstad.com, Mujtaba authors technical guides and tutorials on networking, cybersecurity, and AI applications, with over 160 published posts. He bridges AI innovation with practical networking solutions to empower IT professionals and enthusiasts.

Related Articles