Mój newsletter

Dołącz do LifeLog

Technologia, książki i świadome życie. Notatki, do których chce się wracać — prosto do Twojej skrzynki.

Bezpłatny newsletter. Built with Kit

Dowiedz się więcej o LifeLog →
Ilustracja tuszem i akwarelą na podstawie oryginalnej okładki: Jak sprawnie poruszać się po IOSIlustracja tuszem i akwarelą na podstawie oryginalnej okładki: Jak sprawnie poruszać się po IOS
Sieci i chmura

Jak sprawnie poruszać się po IOS

Tab, pomoc kontekstowa, filtry i skróty klawiaturowe. Jak sprawniej pracować w konsoli Cisco IOS?

W tym artykule

Nie da się ukryć, że praca w Cisco IOS wiąże się ze żmudnym wpisywaniem komend w wierszu poleceń CLI. System IOS posiada jednak wiele usprawnień, dzięki którym konfiguracja może być nie tylko prostsza, ale i dużo szybsza. Dzisiaj przedstawię Ci kilka funkcji i skrótów klawiaturowych, dzięki którym będziesz mógł poruszać się po command line jak prawdziwy ninja.

Pomocne funkcje w IOS

W artykule na temat podstaw działania IOS omówiliśmy poszczególne tryby konfiguracyjne dostępne w IOS oraz podstawy nawigacji między nimi. Dziś zajmiemy się sposobami na przyspieszenie pracy w systemie Cisco.

Tab

Pierwszym przydatnym trickiem jest używanie klawisza Tabulatora (Tab) do uzupełniania poleceń. Dzięki niemu nie musisz wpisywać całych słów a tylko ich część. Naciskając Taba system sam uzupełni do końca treść danej frazy. Na przykład jeśli chcesz wpisać słowo interface to wystarczą tylko litery in, a wciśnięcie Tabulatora uzupełni komendę i ukaże się ona w całości w nowej linii.

Switch(config)#in
Switch(config)#interface 

Jeśli Tabulator nie będzie uzupełniać komendy to znaczy, że system nie może jej odnaleźć lub istnieje więcej poleceń zaczynających się od tych samych liter. Wtedy warto skorzystać z pomocy kontekstowej.

Help ?

Jeśli Tabulator nie chce uzupełnić wyrazu spróbuj użyć znaku zapytania „?” po wpisanej frazie. System automatycznie wskaże wszystkie dostępne polecenia zaczynające się od już wpisanych liter. Sprawdźmy jakby to wyglądało gdybyśmy w poprzednim przykładzie wpisali jedynie literę i.

Switch(config)#i?
interface ip

System podpowiedział nam, że są dostępne dwie opcje: interface oraz ip.

Znaku zapytania możesz również użyć do wyszukiwania dostępnych poleceń w trybie, w którym aktualnie się znajdujesz. Zamiast komendy wpisujesz po prostu znak zapytania i otrzymujesz wszystkie dostępne w danym momencie polecenia.

Switch(config)#interface fastEthernet 0/1
Switch(config-if)#?
  authentication    Auth Manager Interface Configuration Commands
  cdp               Global CDP configuration subcommands
  channel-group     Etherchannel/port bundling configuration
  channel-protocol  Select the channel protocol (LACP, PAgP)
  description       Interface specific description
  dot1x             Interface Config Commands for IEEE 802.1X
  duplex            Configure duplex operation.
  exit              Exit from interface configuration mode
  ip                Interface Internet Protocol config commands
  lldp              LLDP interface subcommands
  mdix              Set Media Dependent Interface with Crossover
  mls               mls interface commands
  no                Negate a command or set its defaults
  shutdown          Shutdown the selected interface
  spanning-tree     Spanning Tree Subsystem
  speed             Configure speed operation.
  storm-control     storm configuration
  switchport        Set switching mode characteristics
  tx-ring-limit     Configure PA level transmit ring limit

Pisanie skrótami

Ciekawym rozwiązaniem IOS jest to, że system nie wymaga pełnych nazw komend. Przykładowo przechodząc do trybu privileged EXEC zamiast wpisywać całą komendę enable możesz wpisać jedynie słowo en. Dla systemu będzie to już wystarczająca informacja, by zrozumieć Twoje polecenie. Warunek jest taki sam jak przy użyciu Tabulatora – nie może istnieć kilka poleceń zaczynających się od tych samych liter.

Switch>en
Switch#

Jeśli komenda składa się kilku słów to możesz skrócić każde z nich. Sprawdźmy jak można to wykonać na przykładzie polecenia configure terminal.

Switch#c?
clear  clock  configure  connect  copy  
Switch#conf
Switch#configure ?
  terminal  Configure from the terminal
  <cr>
Switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Switch(config)#

Słowo configure możemy skrócić do conf ponieważ od liter con zaczyna się jeszcze komenda connect. Słowo terminal jest jedynym dostępnym wyrazem zaczynającym się od litery t, dlatego możemy użyć tu tylko jednej litery.

Nawigacja strzałkami

Pomocne mogą być również strzałki kierunkowe na klawiaturze. Strzałki w prawo i lewo mają standardowe i raczej oczywiste zastosowanie. Pozwalają one na zmianę miejsca kursora w danej linii, dzięki czemu możemy poruszać się między wpisanymi znakami. Znacznie bardziej przydatną funkcję mają strzałki w górę i w dół. Pozwalają one poruszać się po historii komend jakie zostały wcześniej wpisane. Każde wciśnięcie strzałki w górę wyświetla kolejną komendę zapisaną w historii.

Switch(config)#interface range fastEthernet 0/1-10
Switch(config-if-range)#switchport mode access 
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#interface range fastEthernet 0/1-10

W przykładzie skonfigurowaliśmy zakres interfejsów i przypisaliśmy go do VLANu. Jeśli naciśniemy trzykrotnie strzałkę w górę, będziemy mieć już wpisane w wierszu polecenie interface range fastEthernet 0/1-10, które bardzo szybko możemy wyedytować.

Informacje o błędach

Wpisując w pośpiechu komendy nie jest problemem popełnić błąd i wcisnąć zły klawisz na klawiaturze. W takim przypadku najczęściej polecenie będzie dla systemu po prostu niezrozumiałe. W tym momencie pojawi się komunikat o błędzie. IOS nie tylko poinformuje Cię, że nie jest w stanie rozpoznać polecenia, ale dodatkowo za pomocą symbolu karety (zwanego potocznie daszkiem) wskaże, w którym miejscu jest błąd.

Switch#show wlan
            ^
% Invalid input detected at '^' marker.
	
Switch#

Może się również zdarzyć, że wpisane polecenie będzie niekompletne. To znaczy, że nie podałeś wszystkich parametrów niezbędnych do jego prawidłowego wykonania. W takim przypadku również zostanie wyświetlony odpowiedni komunikat systemowy.

Switch#show
% Incomplete command.

Używanie komendy do

Wyobraź sobie, że skonfigurowałeś właśnie VLAN i chcesz przejść do konfiguracji kolejnego, tylko nie pamiętasz jego numeru. Wpisujesz polecenie show vlan brief…i wyskakuje błąd, mimo, że składnia jest prawidłowa.

Switch(config)#show vlan brief
                ^
% Invalid input detected at '^' marker.

Błąd wynika z tego, że będąc w trybie konfiguracji nie możesz skorzystać z poleceń, które dostępne są wyłącznie w trybie user EXEC lub privleged EXEC. Nieustanne przełączanie się między trybami to oczywiście zbędna komplikacja i strata czasu. Całe szczęście Cisco również o tym pomyślało. Jedną z funkcji IOS jest możliwość dodania do komend przedrostka do (ang. wykonaj), dzięki czemu można ich użyć również w trybach konfiguracyjnych.

Switch(config)#do sh vlan brief

VLAN Name                             Status    Ports
---- -------------------------------- --------- -------------------------------
1    default                          active    Fa0/11, Fa0/12, Fa0/13, Fa0/14
                                                Fa0/15, Fa0/16, Fa0/17, Fa0/18
                                                Fa0/19, Fa0/20, Fa0/21, Fa0/22
                                                Fa0/23, Gig0/1, Gig0/2
10   MGMT                             active    Fa0/24
20   Data                             active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10
1002 fddi-default                     active    
1003 token-ring-default               active    
1004 fddinet-default                  active    
1005 trnet-default                    active  

Używanie filtrów

Wyniki niektórych komend potrafią być naprawdę długie. Szczególnie dla poleceń typu show ich output może zająć czasami setki wierszy, przez co znalezienie interesujących nas informacji zajmuje dużo czasu. W takiej sytuacji możesz skorzystać z filtrowania. Dzięki temu w poleceniu będą wyszukiwane tylko interesujące nas słowa.

Filtr włączamy poprzez użycie na końcu komendy symbolu pionowej kreski „|” (w języku angielskim nazywa się on pipe). Następnie musimy określić zakres filtru w postaci słowa kluczowego. Dostępne słowa kluczowe możesz sprawdzić oczywiście przy pomocy znaku zapytania.

Switch# show interface | ?
  begin    Begins unfiltered output of the show command with the first line
           that contains the regular expression.
  exclude  Displays output lines that do not contain the regular expression.
  include  Displays output lines that contain the regular expression.	
  section  Filter a section of output

Ostatnim krokiem jest wpisanie parametru, który nas interesuje. Zobaczmy jak w szybki sposób możemy wyświetlić na naszym switchu wyłącznie konfigurację interfejsów typu line.

Switch# sh run | section line
line con 0
 exec-timeout 0 0
 stopbits 1
line vty 0 4
 exec-timeout 30 0
 transport input ssh
 transport output all

Filtry oprócz zwykłych słów umożliwiają stosowanie wyrażeń regularnych (ang. regular expression, w skrócie regex). Są to wzorce, które pomagają wyszukiwać fragment tekstu z dużo większą precyzją. Warto wiedzieć jak korzystać z regexa, ale jest to temat na tyle obszerny, że wymaga oddzielnego omówienia.

Skróty klawiaturowe w IOS

Klawisze backspace i delete służą do usuwania pojedynczych znaków odpowiednio przed kursorem i za kursorem. Co jednak, gdy chcemy usunąć słowo lub całą komendę? Zamiast stukać w klawiaturę jak dzięcioł możesz użyć skrótów. Większość z nich działa poprzez jednoczesne naciśnięcie klawisza Control (Ctrl) oraz odpowiedniej litery alfabetu.

Skróty klawiaturowe IOS.
Skróty klawiaturowe IOS.

Szczególnym rodzajem skrótu jest kombinacja Ctrl-Z oraz Ctrl-C. Umożliwia ona szybki powrót z trybów konfiguracyjnych do trybu uprzywilejowanego.

Innym istotnym skrótem jest Ctrl-Shift-6. Służy on do przerywania niektórych poleceń, jak ping, traceroute czy wyszukiwań DNS. Przykład przerwanego wyszukiwania DNS widzisz poniżej.

Switch#nastykusieci.pl
Translating "nastykusieci.pl"...domain server (255.255.255.255) % Name lookup aborted
Switch#
Na Styku Sieci

ArchiwumNa Styku Sieci

Autor: Jakub Krawczyk

Ten tekst ukazał się pierwotnie w serwisie Na Styku Sieci. Dziś znajdziesz go tutaj, z zachowaniem oryginalnego autorstwa.

Oryginalnie opublikowano

100%