Cisco-routers och -switchar fungerar med operativsystemet IOS (Internet Operating System). Routers och switchar hanterar nätverket på olika sätt med hjälp av kommandon som ingår i ett anpassat IOS. Specifika funktioner för routers och switchar kräver olika kommandon som tillhandahålls via en terminal, en kommandotolk.

IOS är i storleksordningen megabyte (MB) och lagras i ett flash-minne. Flash-minnet är icke-flyktigt, vilket betyder att minnet inte förlorar sin information när routern startas om eller stängs av. Genom att lagra IOS i flash-minnet blir det möjligt att uppgradera till nyare versioner, förutsatt att man håller sig inom flash-minnets kapacitet.
Normalt kopieras IOS från flash-minnet till RAM-minnet vid uppstart av en router/switch. När IOS har lagrats i RAM-minnet startas den. Äldre routers kan dock starta IOS direkt från flash-minnet.
Konfigurationsfiler
Nätverkshanterare arbetar med två typer av mjukvara: operativsystemet och konfigurationsfiler. Operativsystemet tillhandahåller systemfunktioner för att utföra kommandon medan routern eller switchen är igång, och konfigurationerna sparas i filer. Konfigurationsfilerna innehåller en uppsättning Cisco IOS-kommandon som används för att anpassa switcharnas/routernas funktionalitet. Dessa kommandon exekveras när nätverkshanteraren startas (automatiskt) eller när de anges i kommandotolken (CLI).
Det finns två typer av konfigurationsfiler för en Cisco enhet (router eller switch):
- Den som används när näthanterare startar “startup-config“
- Den som används när näthanterare är igång “running-config“
Startup konfigurationsfil
Startup-konfigurationsfilen lagras i ett icke-flyktigt minne (non-volatile RAM, NVRAM) med namnet “startup-config“. Den här filen kopieras till RAM-minnet varje gång nätverkshanteraren startar eller när filen hämtas igen (reloads). Därefter betraktas startup-config filen som running-config.
Running konfigurationsfil

Running-konfigurationsfilen ändras när nätverksadministratörer gör ytterligare konfigurationer, och ändringarna tillämpas direkt medan enheten är igång. Det är upp till nätverksadministratören att bestämma om ändringarna ska sparas genom att kopiera running-config filen till startup-config, så att filen används nästa gång nätverkshanteraren startas.
Cisco IOS exekveringsläge (mode)
Cisco IOS är modulärt uppbyggt, vilket innebär att konfigurationsmöjligheterna finns i hierarkiska nivåer.
Följande lägen finns tillgängliga:
Varje exekveringsläge innehåller specifika konfigurationsmöjligheter genom kommandon som bara fungerar i respektive läge. För att få åtkomst till dessa lägen krävs att man anger lösenord, förutsatt att lösenordet har konfigurerats. Varje läge identifieras med en specifik prompt, till exempel Router>, Router#, Router(config)#, Router(config-if)#, Router(config-line)#, Route(config-router)#, fler mera.
- User Executive Mode (användarexekveringsläge) är standardläget när du loggar in på en Cisco-enhet. Du kan bara använda några grundläggande kommandon för att visa enhetens status och information. Som standard krävs ingen autentisering, det vill säga inget lösenord. För att ta dig in i privilegierat exekveringsläget behöver du exekvera kommandot “enable“.
- Privileged Executive Mode (privilegierat exekveringsläge) ger dig tillgång till avancerade konfigurationskommandon och privilegierade funktioner. Genom att ange kommandot “configure terminal” från Privileged EXEC Mode kommer du till Global Configuration Mode.
- Global Configuration Mode (globalt konfigurationsläge) ger möjlighet att konfigurera enhetens globala inställningar, som hostname, lösenord och interface konfiguration.
- Specific Configuration Mode tillåter konfigureringar av specifika egenskaper och inställningar till exempel för enskilda interface.
Det är viktigt att notera att det finns fler exekveringslägen och underlägen inom varje exekveringsläge.

Varje IOS-kommando har en specifik syntax eller format. Syntaxen inkluderar själva kommandot, en eller flera nyckelord/parametrar och eventuella argument. Till exempel:
Router# show running-config
I det här exemplet är “show” själva kommandot och “running-config” är nyckelordet. Den text som följer efter kommandot är argumentet, vilket de flesta IOS-kommandon kräver. Till exempel, kommandot “description”:
Switch(config-if)# description MainHQ Office Switch
Här är “description” själva kommandot och “MainHQ Office Switch” är argumentet.
IOS CLI hjälp
Det finns flera olika typer av hjälp som finns tillgängliga:
- Kontextberoende hjälp (Context-sensitive help)
- Kontroll av kommandosyntax (Command syntax check)
- Tangentkombinationer och genvägar (Hot keys and shortcuts)
Kontextberoende hjälp ger en lista över tillgängliga kommandon och dess associerade argument i det aktuella exekveringsläget. Om du skriver ett frågetecken vid prompten visas alla tillgängliga kommandon. Till exempel kan du ställa in klockan på en router med IOS CLI hjälp och frågetecken:

Bilden ovan visar kontextberoende hjälp och tre olika felmeddelanden:
- Ambiguous command (Otydligt kommando)
- Incomplete command (Ofullständigt kommando)
- Invalid command (Ogiltigt kommando)
Dessa felmeddelanden är resultatet av kommandosyntaxkontrollen, som kontrollerar om kommandot och dess nyckelord/argument har angetts korrekt eller inte. Felmeddelanden kan klassificeras som otydliga, ofullständiga eller ogiltiga.
Snabbtangenter och genvägar i IOS CLI
IOS CLI innehåller olika snabbtangenter och genvägar som gör det lättare att konfigurera, övervaka och felsöka enheter. Kommandon och nyckelord kan förkortas, så länge förkortningen är unik. Till exempel kommandot configure kan skrivas som conf, eftersom inget annat kommando börjar med conf. En kortare version, con, fungerar däremot inte, eftersom flera olika kommandon börjar med con.
På samma sätt kan även nyckelord förkortas, så länge förkortningen är entydig.
För att underlätta redigering i kommandoraden finns dessutom särskilda tangenttryckningar (hot keys). Dessa gör att du kan flytta markören, radera text och snabbt korrigera fel utan att behöva skriva om hela kommandot. Tabellen nedan visar några av de mest användbara tangenttryckningarna.
Läs bindestrecket eller plustecknet i följande text som “och“:
- Tabb tangenten används för att automatiskt komplettera kommandot.
- Ctrl-R visar föregående rad.
- Ctrl-Z lämnar konfigurationsläget och återgår till exekveringsläget.
- Ctrl-Shift-6 avbryter en pågående IOS-process, till exempel ping eller traceroute.
- Ctrl-C avbryter det pågående kommandot och lämnar konfigurationsläget.
- Ctrl+D tangenten tar bort tecknet under markören (delete).
- Esc D (först Esc och därefter D) Tar bort text från markören till slutet av ordet.
- Ctrl+U eller Ctrl+X tar bort hela raden (allt du har skrivit).
- Ctrl+W tar bort ordet innan markören.
- Ctrl+A flyttar markören till början av raden.
- Ctrl+B flyttar markören ett ord bakåt.
- Esc F flyttar markören ett ord framåt.
- Ctrl+E flyttar markören till slutet av raden.
IOS show kommando
För att verifiera konfigurationer behöver vi kontrollera de genomförda ändringarna som lagras på olika filer och platser. Detta kan göras med hjälp av “show”-kommandot. Det finns olika varianter av kommandot som visar olika typer av information, se bilden nedan:

