◆ Cisco IOS - CLIの使用方法(編集キーによる編集)
Cisco IOSでは、コマンドの文字列を入力する際に、PCのCtrlキーなどを利用した編集キーを使用
することができます。編集キーはコマンド入力時に便利な機能です。主な編集キーは以下となります。
編集キー |
編集キーの説明 |
Ctrl + A |
入力しているコマンドの先頭へカーソルが移動 |
Ctrl + E |
入力しているコマンドの末尾へカーソルが移動 |
Ctrl + B |
1文字分、左へカーソルが移動 ( 「←」キーの入力と同じ結果 ) |
Ctrl + F |
1文字分、右へカーソルが移動 ( 「→」キーの入力と同じ結果 ) |
Ctrl + D |
カーソルの位置にある1文字を削除 |
Ctrl + H |
カーソルの左にある1文字を削除( 「BackSpace」キーの入力と同じ結果 ) |
Ctrl + W |
カーソルの左にある1単語を削除 |
Ctrl + U |
入力しているコマンドの1行を削除 |
Ctrl + C |
セットアップモードを終了し、ユーザEXECモードへ移行 |
Ctrl + Z |
コンフィグレーションモードを終了し、特権EXECモードへ移行 |
Escの入力後、B |
1単語分、左へカーソルを移動 |
Escの入力後、F |
1単語分、右へカーソルを移動 |
現場のネットワークエンジニアがこれらの編集キーを全て使用して、コマンド入力を行っているかというと
決してそうではなく、多くのネットワークエンジニアは「Ctrl + A、Ctrl + E、Ctrl + Z」等と矢印キーは
よく使用すると思いますが、それ以外はあまり使用しないでしょう。例えば Esc キーを使用するくらいなら
矢印キーの方が確実で早いです。ちなみに、ターミナルソフトによっては使用できない編集キーもあります。
◆ Cisco IOS - CLIの使用方法(コマンドヒストリ)
Cisco IOSでは一度入力したコマンドはその入力履歴が一時的にメモリに保存されます。この機能のことを
コマンドヒストリといいます。これにより再度同じコマンドを入力したい場合、Ctrl + Pと入力することで
直前に入力したコマンドが呼び出されて非常に便利。矢印キーで「↑」を押すことで同じ結果が得られます。
キー |
キーの説明 |
Ctrl + P |
直前に入力したコマンドを呼び出します。「↑」キーの入力と同じ結果が得られる。
1回押すごとに直前に入力した新しいコマンドから古いコマンドへ順番に表示されていく。 |
Ctrl + N |
「Ctrl + P」を入力するごとに、過去に入力した古いコマンドが呼び出されていくが
「Ctrl + N」を入力すれば、古いコマンドから新しいコマンドの呼び出しに戻られる。
「↓」キーの入力と同じ結果が得られる。 |
一時的にメモリに保存されている入力コマンドの履歴は show history コマンドで確認することができます。
例では、直前に入力したコマンドがshow historyであり、そしてこのCisco機器にログインし最初に入力した
コマンドがenableであると分かります。このコマンド入力履歴はデフォルトで20個まで一時的に保存される
ので、21個目のコマンドを入力した場合は、最初に入力したコマンド(この例ではenable)が消去されます。
コマンドヒストリのデフォルトのバッファサイズの20は、特権EXECモードで以下のコマンドで変更できます。 terminal history size の後の数字がバッファサイズです。設定後のステータスは show terminal コマンドの
「history size is 〜」という項目で確認できます。ちなみに、特権EXECモードで入力するterminal関連の実行
コマンドは、現在開いているターミナルだけに適用されるものであり、例えば、現在使用しているターミナル
ソフトのTera Term Proの画面を閉じれば、設定値は自動的にデフォルト値に戻っています。
◆ Cisco IOS - CLIの使用方法(エラーメッセージ)
◇ 曖昧コマンドによるエラー
以下の% Ambiguous command:メッセージが表示される場合、入力したコマンドの文字列が不足している
ことを意味します。この場合、"con"が"configure"なのか"connect"なのか判断できない結果のエラーです。
◇ 不足コマンドによるエラー
以下の% Incomplete command.メッセージが表示される場合、入力コマンドが不完全であることを
意味します。例えば、Cisco機器のホスト名の設定を行うためにはhostname CISCOのようにhostname
の後にホスト名を定義するための文字列(例ではCISCO)が必要です。しかし、“hostname”とだけしか
入力していない結果、hostnameのコマンドの引数が不明であるため不完全としてエラーが出力されます。
◇ 構文ミス(スペルミス)によるエラー
以下の% Invalid input detected at '^' marker.メッセージが表示される場合、入力コマンドのスペルが
間違っていることを意味します。以下では、正確には「hostname CISCO」と入力しなければいけない所を
スペルミスで "s" が抜けてしまっているのでエラーが表示されています。間違い部分には " ^ "があります。
◇ モード間違いによるエラー
以下の% Invalid input detected at '^' marker.メッセージが表示される場合、入力コマンドのスペルが
間違っている場合に出るメッセージですが入力したコマンド正しくないモードである場合でも発生します。
ホスト名の設定は、機器全体に関わる設定変更であることから、グローバルコンフィグレーションモードで
設定する必要がありますが、以下では間違えて特権EXECモードで設定していることからエラーが発生します。
◇ 特権EXECモードでのスペルミスによるエラー
% Unknown command or computer name, or unable to find computer address のメッセージは
特権EXECモードでスペルミスをした場合に発生するエラー。以下の入力したコマンド "cogg"と いう
Ciscoコマンドは存在しないので、適切なコマンドを入力する必要があります。IOSでは、特権EXEC
モードでは存在しないCiscoコマンドの文字列はホスト名として解釈しようとします。そのホスト名を
IPアドレスに名前解決を試みるものの、それが失敗する結果、以下のエラーメッセージが出力されます。
このメッセージが出力されると、再びプロンプトが表示されて正しくコマンドを入力できるまでに数十秒
の時間を要してしまいます。従って、ルータでDNSの名前解決を行わない場合(これが一般的です)は、
以下のとおりグローバルコンフィグレーションモードで、no ip domain-lookupを設定しておきましょう。
間違ってコマンドを入力してもDNS解決を行わないようになりますので、無駄な待ち時間はなくなります。
◆ Cisco IOS - CLIの使用方法 ( 設定の削除方法 )
Cisco IOSでは、コンフィグレーションモードで設定した設定情報はその入力したコマンドに no と
入力することで、その設定が削除されます。またはその設定がデフォルト値に戻ります。以下では
ホスト名を「CISCO」にして、FastEthernet0/0の IP を「192.168.0.254/24」に設定しましたが、
そのIPアドレスの設定を削除するために"no ip address"と入力して、そのホスト名をデフォルト値
に戻すためにno hostnameと入力しています。※ Ciscoルータのホスト名のデフォルトは"Router"。
|