Jak mogę przyspieszyć pisanie CLI w Cisco IOS za pomocą skrótów?

10

Wiem, że możemy sh ip int briprzyspieszyć pisanie za pomocą funkcji autouzupełniania (klawisz Tab) i skrótów (np. ).

Jednak nadal nie jestem zadowolony z pisania łańcuchów szyfrujących, takich jak sh ip dh sn bi | i 20.12for show ip dhcp snooping binding | include 20.12.

Czy mogę zdefiniować skróty do często używanych sekwencji poleceń i jak?

Stefan
źródło
Jeśli wiesz, co piszesz, będziesz myślał show ip dhcp snooping...podczas pisania sh ip dh sn... Jeśli wysyłasz to do kogoś innego w wiadomości e-mail, przynajmniej wyraź skróty (np. snoopVs sn). Wolę nie skracać w tym przypadku. IMHO, aliasy są świetne, gdy inżynierowie wdrażają konfiguracje dla doświadczonych techników spoza firmy Cisco, którzy wciąż muszą zobaczyć przydatne informacje. Aliasy dla osób znających się na rozwiązaniach typu cisco sprawiają, że są leniwi. (Ponownie, całkowicie tylko moja opinia ...)
Tarah
1
Naucz się pisać szybciej, jest jedną z opcji. ;-)
generalnetworkerror
1
@generalnetworkerror Często muszę używać nasyconych połączeń satelitarnych o niskiej przepustowości z opóźnieniem 800 ms. Opcją byłoby zmniejszenie liczby naciśnięć klawiszy, nie tak naprawdę pisanie szybciej (choć jestem szybki).
Stefan
Czy używasz algorytmu Nagle dla tego łącza o dużym opóźnieniu? „Router (config) # service nagle”
generalnetworkerror
@generalnetworkerror Bardzo dobry punkt! Nie używam nagle, ale wszędzie WAAS do optymalizacji i kompresji TCP.
Stefan,

Odpowiedzi:

17

Możemy użyć alias polecenia w globalnym trybie konf:

alias <mode> <command-alias> <original-command>

<mode>jest jednym z wielu trybów poleceń IOS . Jeśli potrzebujesz go w różnych trybach, musisz wywołać go dla każdego z nich - typ, alias ?aby uzyskać długą listę trybów.

Przykład sprawdzania wykrytego adresu IP protokołu dhcp, wpisz w trybie globalnego konf

alias exec snoop show ip dhcp snooping binding | include

Teraz możesz po prostu wpisać, snoop 172.16.20.12aby sprawdzić ten adres IP lub snoop 801na przykład sprawdzić wszystkie adresy IP w sieci VLAN 801. Zrób to samo, show mac-address-table | includea przyspieszysz wyszukiwanie i rozwiązywanie problemów.

Dalsze wskazówki:

  • udokumentuj swoje pseudonimy dla siebie i swoich kolegów
  • sh aliases pokazuje twoje aliasy oraz predefiniowane
  • podczas gdy no alias <mode> <command>można odgadnąć, że usuwa się alias, no alias <mode>usuwa aliasy dla pełnego trybu - dzięki czemu można usunąć kilka naraz, default alias <mode>działa podobnie, jak oczekiwano
  • jeśli zdecydujesz się na użycie aliasów, wdróż je raz wszędzie, gdzie będziesz ich potrzebować
  • narzędzia takie jak Cisco Prime mogą pomóc we wdrożeniu
  • nie zapomnij oryginalnych poleceń ;-)
Stefan
źródło
Lol, czy odpowiedziałeś na swoje pytanie w tej samej chwili, w której je opublikowałeś? :) Archiwizowanie wiedzy?
Bulki,
@Bulki Dzielenie się wiedzą, budowanie znaczącej zawartości witryny w fazie beta, poszukiwanie alternatywnych rozwiązań. Co zatem oznacza twoje „Lol”?
Stefan
Cóż, to zabawne, kiedy to widzisz, ale myślę, że to ważne, aby mieć dobrą bazę wiedzy również dla innych :) Byłem zaskoczony, nawet to zauważyłem :) dobre posty btw!
Bulki,
6

W przypadku skomplikowanych zadań sugeruję spojrzenie na TCL. Możesz używać TCL do tworzenia skryptów, które można przechowywać i uruchamiać na urządzeniach IOS / Nexus, zapewniając niesamowitą elastyczność w gromadzeniu i wyświetlaniu danych.

Chociaż nie jest to szybsze w przypadku prostych zadań, możesz zbierać i korelować informacje z wielu poleceń i formatować je według własnego uznania. Może także pobierać informacje z SNMP.

Jeśli nie zaglądałeś do niego, możesz znaleźć jeden taki dokument tutaj .

Edycja: Nie dodałem tego, ale prawdopodobnie powinienem. Po zainstalowaniu skryptu TCL możesz użyć polecenia alias z doskonałej odpowiedzi Stefana, aby uzyskać szybszy dostęp do skryptu. Na przykład:

alias exec mac-lookup tclsh flash:mac-lookup.tcl
YLearn
źródło
Również dobra sugestia, ale nie odpowiada na pytanie PO. :-)
John Jensen,
Chociaż nie jest skrótem w znaczeniu aliasu, jest skrótem, ponieważ może wykonywać wiele czynności i wyświetlać potrzebne dane w krótszym czasie niż potrzeba na wpisanie wszystkich tych poleceń. Na przykład, jeśli podasz mu adres MAC, możesz odzyskać interfejs, z którym był połączony, liczbę innych urządzeń podłączonych do tego portu, liczniki interfejsów tego interfejsu, wszelkie wpisy szpiegujące DHCP dla tego MAC i tak dalej . Opcje są tak nieograniczone, jak chcesz, aby były z TCL. Aliasy, choć świetne, mają ograniczony zakres i ile pracy / pisania mogą zaoszczędzić.
YLearn
Wpisałem „często używane sekwencje poleceń” i „przyspieszają wpisywanie CLI” w części Q. Ponieważ wiele typowych zadań wymaga uruchomienia sekwencji lub serii poleceń, TCL jest lepszy w tych przypadkach, aby zapewnić „skrót. „
YLearn
Uzgodniony z @YLearn; czasem lepsza (niekoniecznie najlepsza) odpowiedź wnosi wiele wartości dla PO i innych, którzy to czytają, aby zrozumieć wszystkie opcje ulepszeń CLI. Nowicjusze OP mogą nawet nie wiedzieć o TCL, ale może właśnie tego szukają.
generalnetworkerror
Mój conter-argument to wysiłek wymagany do napisania skryptu Tcl w porównaniu z tworzeniem aliasu i nie każdy ma czas (lub chęć) na naukę składni Tcl. Re: odpowiadając na pytanie OP, widzę użyteczność wskazania opcji Tcl.
John Jensen
2

Osobiście uważam, że aliasy to zły pomysł. Nigdy nie wiadomo, kiedy będziesz logować się na urządzeniu, które nie ma zdefiniowanego ulubionego aliasu. Następnie musisz pamiętać, co piszesz od początku.

Najlepsza rzecz do zrobienia? Po prostu napisz to. W końcu Twoja szybkość pisania poprawi się.

łagodny
źródło
Nie mam problemu z używaniem aliasów. Moją ogólną zasadą jest to, że powinny być używane do zwiększenia wydajności pracy, a nie do uproszczenia rzeczy, których nie znam / nie rozumiem. Jeśli możesz to zrobić bez aliasu, świetnie, jeśli nie, upewnij się, że rozumiesz, co robi alias.
YLearn
1

Jeśli używasz Securecrt (i nie chcesz wdawać się w zbyt wiele skryptów powłoki) w celu uzyskania dostępu do telnet / ssh / konsoli, zawsze możesz „nagrać” swoje polecenia, ma on opcję, a następnie możesz po prostu wybrać nagrany skrypt w narzędziach Wierzę, że tak

alex_da_gr8
źródło
0

W zależności od tego, co robisz, lepszym rozwiązaniem może być napisanie powłoki, spodziewanie się lub innych skryptów do wykonywania typowych zadań.

Jeśli chodzi o podstawowe rozwiązywanie problemów, jeszcze lepiej jest, gdy mój system alarmowy już wykonuje część polegającą na zbieraniu informacji.

Łączenie narzędzi takich jak wycięcie z powiązanymi narzędziami, takimi jak „Mr CLI”, pozwala bardzo łatwo stworzyć naprawdę potężne narzędzia, dając ci dzisiaj rękę i łatwą drogę do dalszej poprawy rzeczy jutro, jeśli nie przez pełną automatyzację, możesz być w stanie aby przenieść zadania na dział pomocy technicznej, któremu można dać trywialną aplikację internetową, która wykonuje podstawowe czynności i pomaga szybciej rozwiązywać problemy użytkowników.

LapTop006
źródło
Chociaż wszystko to jest w zasadzie na miejscu, nadal nie odpowiada na pytanie PO; zasadniczo tworzy punkty do dyskusji, których powinniśmy unikać.
John Jensen,