動画と記事で学ぶ / Cisco・実機操作
Ciscoルーター・スイッチの作業が速くなるコマンドを8つ解説。show run | include/begin/section、スラッシュ検索、do、no ip domain-lookup、terminal length 0、write memoryの使い方をまとめます。
ここからは、記事でゆっくり確かめましょう。図や操作の例を見ながら、気になるところから読み進めてください。
Ciscoのルーター・スイッチで作業が速くなるコマンドは、show run | include、| begin、| section、スラッシュ検索、do、no ip domain-lookup、terminal length 0、write memory の8つです。
設計構築の作業では、show run を1日に何十回、多い日は何百回も打ちます。configが数百行、数千行ある機器で、毎回先頭から全部表示させて目で探していると、それだけで時間がなくなります。ここで紹介するのは、僕が現場で実際に使っていたものです。
時短コマンド8つの一覧
| コマンド | できること |
|---|---|
| show run | include 文字列 | その文字列を含む行だけを表示する |
| show run | begin 文字列 | その文字列が最初に出てくる行から下を表示する |
| show run | section 文字列 | その文字列に当たる設定のまとまりを表示する |
| /文字列(–More– の途中で) | 表示中の出力の中を検索する |
| do show run、do ping | コンフィグレーションモードのまま実行する |
| no ip domain-lookup | 打ち間違えたときの名前解決をやめる |
| terminal length 0 | –More– を出さず、最後まで一気に表示する |
| write memory(wr) | 設定を保存する |
「|」は縦棒の記号で、パイプと読みます。show コマンドの後ろに付けて、出力を絞り込むために使います。
show run | include:指定した文字を含む行だけ表示する
Router# show running-config | include line
Router# show running-config | include interface
Router# show running-config | include hostname
include の後ろに書いた文字列を含む行だけが表示されます。「line」なら line con や line vty の行、「hostname」ならホスト名の1行だけが出ます。
configを直している途中で、「あの設定、どうなっていたかな」と確認したくなることは何度もあります。そのたびに show run を先頭から流していると、configが長い機器では時間がもったいないです。include で必要な行だけ出せば、数秒で終わります。
show running-config all と組み合わせる
show run で表示されるのは、主に初期値から変更した設定です。初期値のままの設定も含めて全部表示するには、show running-config all を使います。
ただし、all を付けると出力が非常に長くなります。全部表示されるまで数分かかることもあります。そこで include を組み合わせます。
Router# show running-config all | include snmp
こうすると、自分では設定していないSNMP関連の初期値も、該当する行だけ確認できます。「この機能、初期値はどうなっているのか」を調べるときに使います。
show run | begin:指定した文字の行から下を表示する
Router# show running-config | begin interface GigabitEthernet
begin は、指定した文字列が最初に出てくる行を先頭にして、そこから下をすべて表示します。インターフェースの設定を続けて見たいときに便利です。
文字列は具体的に書いてください。「inter」だけだと、それより上にある別の行(vlan internal など)に先に引っかかります。「interface GigabitEthernet」まで書けば、狙った場所から表示されます。
show run | section:設定のまとまりごとに表示する
Router# show running-config | section interface
IOSのconfigは、インターフェースごと、ルーティングプロトコルごとに、設定がまとまり(セクション)になっています。section は、指定した文字列に当たるまとまりを、配下の行も含めて表示します。
正直なところ、include と begin が使えれば、section まで使い分けなくても困りません。余裕があれば覚える、くらいで大丈夫です。
スラッシュ検索:show run を打ったあとに探す
show run を実行すると、画面の下に –More– が出て止まります。この状態で「/」に続けて文字列を打ち、Enterを押します。
Router# show running-config
(--More-- が表示されたところで)
/line
その文字列が出てくる行まで飛び、そこから下が表示されます。動きは | begin と同じです。違いは打つタイミングです。| begin はコマンドを実行するときに付け、スラッシュ検索は実行したあとに使います。
show running-config all を打ってしまったあとでも使えます。「/snmp」と打てば、SNMPの設定がある場所まで一気に進みます。
do:コンフィグレーションモードで show や ping を打つ
show や ping は、ふつう特権EXECモード(Router#)で打つコマンドです。コンフィグレーションモード(Router(config)#)では、そのままでは打てません。Tabキーでの補完も効きません。
先頭に do を付けると、コンフィグレーションモードのまま実行できます。
Router(config)# do show running-config
Router(config)# do ping 192.168.1.1
設定を入れる、確認する、また設定を入れる。この繰り返しのたびに end で戻って configure terminal で入り直す手間がなくなります。
no ip domain-lookup:打ち間違えたときの待ち時間をなくす
特権EXECモードでコマンドを打ち間違えると、機器はその文字列をホスト名だと判断して、DNSサーバーに名前解決をしに行きます。応答を待っている間、何も操作できません。
実機を触っていれば、打ち間違いは必ず起きます。そのたびに待たされるのは時間の無駄です。次のコマンドを入れておくと、名前解決をせず、すぐにエラーを返すようになります。
Router(config)# no ip domain-lookup
これは作業する人のための設定ですが、構築する機器の仕様として、このコマンドをconfigに入れると決めている案件も多いです。IOSのバージョンによっては「no ip domain lookup」と表示されます。
terminal length 0:–More– を出さない
Router# terminal length 0
このコマンドを打つと、show run などの出力が –More– で止まらず、最後まで一気に表示されます。Tera Termのログに show の結果を残すときは、最初に打っておきます。ログの取り方はTera Termの使い方で説明しています。
write memory:設定を保存する
設定の保存というと、copy running-config startup-config で覚えている人が多いと思います。write memory でも、同じことができます。
Router# write memory
Router# write
Router# wr
write、さらに wr まで省略できます。
構築の現場では「ライトしといて」とよく言われます。「設定を保存しておいて」という意味です。僕がいた現場では、copy running-config startup-config よりも write のほうがよく使われていました。
よくある質問
include と begin は、どう使い分けますか?
該当する行だけを見たいなら include、そこから下の設定を続けて見たいなら begin です。
show run と show running-config all は何が違いますか?
show run は主に初期値から変えた設定を表示します。all を付けると、初期値のままの設定も含めて表示します。出力が長いので、| include と組み合わせて使います。
write memory と copy running-config startup-config は同じですか?
どちらも、動作中の設定を起動時の設定として保存します。結果は同じです。
ほかのメーカーの機器でも使えますか?
コマンドそのものはCisco用です。ただ、出力を絞り込む機能や、–More– を止める機能は、たいていのメーカーの機器にあります。Ciscoで何ができるかを知っておけば、「この機器ではどのコマンドだろう」と調べられます。
