Ciscoルータにおいてshowコマンドを適切に使用することは、作業の短縮化、効率化に大きく影響する。
showコマンドは|(pipe)を使用することにより、必要な箇所を抜き出して表示させることができる。redirect系のオプションを除き、一般的に使用されるのは以下の4オプションである。
option | 内容 |
| include | include以後に記載した文字列が含まれる行を返す |
| exclude | exclude以後に記載した文字列が含まれない行を返す |
| begin | begin以後に記載した文字列から始まる行以下の行をすべて返す |
| section | section以後に記載した文字列に関連するsectionを返す |
これらのオプションの使い方をshow running-configで記述すると以下のとおりとなる。
1 |
#show running-config | include interface |
このコマンドを打つと、running-config上で、interfaceという文字列を含む行のみが返される。当然include等のオプションも他のコマンドと同様に省略記載が可能となっている。
上記のコマンドを最大限省略すると以下のとおりとなる。
1 |
#s run | i interface |
Pipe以後の文字列には正規表現を使うことができる。
このコマンドを打った場合、
1 |
#sh run | i route |
以下のようなConfigが返されることになるが、
1 2 3 |
ip route x.x.x.x x.x.x.x x.x.x.x route-map xx router ospf x |
以下のように、開始を表す^を文字列の前に付加すると、
1 |
#sh run | i ^route |
返されるConfigは以下のみとなる。
1 2 |
route-map xx router ospf x |
この場合、ip route x.x.x.x x.x.x.x x.x.x.xはrouteから開始されるConfigではないため、除外されたのである。
includeオプションは、明らかに含まれている文字列を探すのに便利である。
たとえばshow interfaceでHalf-Duplexのinterfaceが含まれていないことの確認を一瞬で行うことができる。
1 |
#sh int | i Half |
仮にHalf-duplexのinterfaceが含まれていたら、アウトプットが返されるであろう。
excludeオプションは、アウトプットからmajorityを排除したいときに便利である。
たとえばshow ip routeでconnectedの情報が不要である場合にconnected情報をはずして見ることができる。
1 |
#sh ip rou | e connected |
大文字Cをexcludeしてもよいが、connectedが確実である。
beginオプションは、sh run 全体などをある地点から見たい時に使用することができる。個人的にはこのオプションは視認性が低いため使用しない。
Configurationの全体像を頭の中に入れて、確実にinclude, excludeでアウトプットを絞るほうが、確実に作業は速くなるだろう。ただし、SwitchなどのOSバージョンによってはSectionオプションが採用されていないため、使わざるを得ない場合がある。他人がbeginオプションを多用しているのを見て、少しイライラするようになり始めたら、showコマンドの熟達者と言えるだろう。
sectionオプションは、includeオプションと同様に非常に多用する。このオプションはeigrpに関する設定を見たい時などに非常に便利である。
このコマンドでeigrpに関連する設定はすべて表示される。
1 |
#sh run | s eigrp |
たとえばinterfaceなどにip bandwidth-percent eigrpの設定が入っている時などでも、表示してくれるため、便利である。
includeオプションとの違いは、eigrpのrouter configurationセクションも表示してくれるところにある。
以下のコマンドの場合、
1 |
#sh run | i eigrp |
アウトプットは以下のようになる。
1 |
router eigrp 1 |
対して、以下のコマンドでは、
1 |
#sh run | s eigrp |
アウトプットは以下のような形となる。
1 2 3 4 |
router eigrp 1 net x.x.x.x net x.x.x.x distribute-list x xxxxx |
このコマンドにより、アウトプットをかなり便利に活用することができるだろう。
他にもPipeを複数使用し、OR形式でアウトプットを表示することができる。
ただし、Pipeを多用しすぎると条件が複雑になり、showコマンドで必要なアウトプットを得られない可能性があるため、複数の使用はお勧めしない。