Cisco IOS CLI コマンド モードの概要
シスコ デバイスの設定を支援するために、Cisco IOS コマンドライン インターフェイスは、さまざまなコマンド モードにわかれています。各コマンド モードには、ルータとネットワークの動作を設定、メンテナンス、モニタリングするための独自のコマンド セットがあります。ある時点で使用できるコマンドは、そのときのモードに依存します。システム プロンプトに疑問符( ? )を入力すると、各コマンド モードで使用できるコマンドの一覧が表示されます。
特定のコマンドを使用すると、コマンド モードを変更できます。モードにアクセスする標準的な順序は、ユーザ EXEC モード、特権 EXEC モード、グローバル コンフィギュレーション モード、特定のコンフィギュレーション モード、コンフィギュレーション サブモード、およびコンフィギュレーション サブサブモードです。
ルータでセッションを開始するとき、一般にユーザ EXEC モードが開始されます。これは、EXEC モードの 2 つあるアクセス レベルのうちの 1 つです。ユーザ EXEC モードでは、セキュリティ上の目的から、EXEC コマンドの制限されたサブセットだけが使用できます。このアクセス レベルは、ルータのステータスを確認するなど、ルータの設定を変更しない作業のために予約されています。
すべてのコマンドにアクセスするには、特権 EXEC モードを開始する必要があります。これは、EXEC モードの第 2 レベルのアクセスです。通常、特権 EXEC モードを開始するにはパスワードを入力する必要があります。特権 EXEC モードでは、任意の EXEC コマンドを入力できます。これは、特権 EXEC モードが、ユーザ EXEC モード コマンドのスーパーセットであるためです。
ほとんどの EXEC モード コマンドは、現在の設定ステータスを表示する show コマンドまたは more コマンドや、カウンタやインターフェイスをクリアする clear コマンドのように、1 回限りのコマンドです。EXEC モードのコマンドは、ルータをリブートすると保持されません。
特権 EXEC モードからは、グローバル コンフィギュレーション モードを開始できます。このモードでは、一般的なシステム特性を設定するためのコマンドを実行できます。また、グローバル コンフィギュレーション モードを使用して特定のコンフィギュレーション モードを開始することもできます。グローバル コンフィギュレーション モードを含むコンフィギュレーションモードでは、実行コンフィギュレーションを変更できます。後で設定を保存すると、ルータをリブートしてもこれらのコマンドが保持されます。
グローバル コンフィギュレーション モードから、さまざまなプロトコル固有または機能固有のコンフィギュレーション モードを開始できます。CLI 階層では、グローバル コンフィギュレーション モードからしかこれらのコンフィギュレーション モードを開始できません。例として、この章では一般的に使用されるインターフェイス コンフィギュレーション モードについて説明します。
コンフィギュレーション モードから、コンフィギュレーション サブモードを開始できます。コンフィギュレーション サブモードは、特定のコンフィギュレーション モードの範囲内で特定の機能を設定するために使用します。例として、この章では、インターフェイス コンフィギュレーション モードのサブモードであるサブインターフェイス コンフィギュレーション モードについて説明します。
ROM モニタ モードは、ルータが正常にブートしない場合に使用する個別のモードです。システム(ルータ、スイッチ、またはアクセス サーバ)のブート時に適切なシステム イメージが見つからない場合、システムは ROM モニタ モードを開始します。ROM Monitor(ROMMON; ROM モニタ)モードには、起動時にブート シーケンスに割り込むことでもアクセスできます。
次の項では、これらのコマンド モードについて詳しく説明します。
• 「ユーザ EXEC モード」
• 「特権 EXEC モード」
• 「グローバル コンフィギュレーション モード」
• 「インターフェイス コンフィギュレーション モード」
• 「サブインターフェイス コンフィギュレーション モード」
• 「ROM モニタ モード」
この項の後にある 表 1 に、Cisco IOS の主なコマンド モードの要約を示します。
ユーザ EXEC モード
ルータにログインするとユーザ EXEC コマンド モードになります(ただし、システムがすぐに特権 EXEC モードになるように設定されている場合を除きます)。一般に、ログインにはユーザ名とパスワードが必要です。接続が拒否されるまでにパスワードを 3 回入力できます。
(注) パスワードの設定については、『Configuring Security with Passwords, Privilege Levels and, Login Usernames for CLI Sessions on Networking Devices』を参照してください。
ユーザ レベルで使用できる EXEC コマンドは、特権レベルで使用できるコマンドのサブセットです。一般に、ユーザ EXEC コマンドでは、リモート デバイスへの接続、端末回線の一時的な設定変更、基本的なテストの実行、システム情報の表示を行うことができます。
使用可能なユーザ EXEC コマンドの一覧を表示するには、次のコマンドを使用します。
|
|
Router> ? |
ユーザ EXEC コマンドの一覧を表示します。 |
ユーザ EXEC モードのプロンプトは、次の例に示すように、デバイスのホスト名と山カッコ(>)からなります。
setup EXEC コマンドを使用した初期設定の際に変更されていない限り、デフォルトのホスト名は Router
です。グローバル コンフィギュレーション コマンド hostname を使用してホスト名を変更することもできます。
(注) Cisco IOS のマニュアルの例では、デフォルトの名前である「Router」を使用しているものと仮定しています。デバイスが異なれば(アクセス サーバなど)、デフォルトの名前も異なります。ルーティング デバイス(ルータ、アクセス サーバ、またはスイッチ)に、hostname コマンドで名前が設定されている場合、デフォルトの名前の代わりにその名前がプロンプトに表示されます。
ユーザ EXEC モードで使用できるコマンドの一覧を表示するには、次の例に示すように疑問符( ? )を入力します。
<1-99> Session number to resume
connect Open a terminal connection
disconnect Disconnect an existing telnet session
enable Turn on privileged commands
help Description of the interactive help system
lat Open a lat connection
login Log in as a particular user
logout Exit from Exec mode and log out
menu Start a menu-based user interface
mbranch Trace multicast route for branch of tree
mrbranch Trace reverse multicast route to branch of tree
mtrace Trace multicast route to group
name-connection Name an existing telnet connection
pad Open a X.29 PAD connection
resume Resume an active telnet connection
show Show running system information
systat Display information about terminal lines
telnet Open a telnet connection
terminal Set terminal line parameters
tn3270 Open a tn3270 connection
trace Trace route to destination
where List active telnet connections
x3 Set X.3 parameters on PAD
コマンドの一覧は、ソフトウェアの機能セットと、使用しているルータ プラットフォームに依存します。
(注) コマンドは、大文字でも、小文字でも、大文字と小文字が混在していてもかまいません。大文字と小文字が区別されるのはパスワードだけです。ただし、Cisco IOS のマニュアルの表記法では、コマンドは常に小文字になっています。
特権 EXEC モード
多くの特権 EXEC モードのコマンドは動作パラメータを設定するため、特権レベルのアクセスはパスワードで保護し、不正使用を防ぐ必要があります。特権 EXEC コマンド セットには、ユーザ EXEC モードのコマンドが含まれます。また、特権 EXEC モードでは、 configure コマンドを使用することで各種コンフィギュレーション モードにアクセスでき、 debug などの高度なテスト コマンドも含まれています。
特権 EXEC モードのプロンプトは、次の例に示すように、デバイスのホスト名とポンド記号(#)からなります。
特権 EXEC モードにアクセスするには、次のコマンドを使用します。
|
|
Router> enable |
特権 EXEC モードをイネーブルにします。 • プロンプトが表示されたら、パスワードを入力します。 |
特権 EXEC モードは、「イネーブル モード」と呼ばれることもあります。これは、このモードを開始するために enable コマンドを使用するためです。
システムでパスワードが設定されている場合、特権 EXEC モードへのアクセスが許可される前にパスワードを入力するよう求められます。パスワードは画面上に表示されず、大文字と小文字が区別されます。enable password が設定されていない場合、特権 EXEC モードには、ルータ コンソール(コンソール ポートに接続された端末)からしかアクセスできません。特権モードへのアクセスを制限するためにパスワードを設定するには、システム管理者はグローバル コンフィギュレーション モードで enable secret または enable password コマンドを使用します。パスワードの設定については、『 Cisco IOS Security Configuration Guide: Securing User Services 』の「 Configuring Security with Passwords, Privilege Levels, and Login Usernames for CLI Sessions on Networking Devices 」の章を参照してください。
ユーザ EXEC モードに戻るには、次のコマンドを使用します。
|
|
Router# disable |
特権 EXEC モードを終了し、ユーザ EXEC モードに戻ります。 |
次に、特権 EXEC モードにアクセスするプロセスの例を示します。
パスワードは入力しても表示されませんが、ここでは説明のために表示してあることに注意してください。特権 EXEC モードで使用できるコマンドの一覧を表示するには、コマンド プロンプトで ? コマンドを発行します。次の項で説明するように、特権 EXEC モードからグローバル コンフィギュレーション モードにアクセスできます。
(注) 特権 EXEC コマンド セットには、ユーザ EXEC モードで使用できるすべてのコマンドが含まれているため、一部のコマンドはどちらのモードでも実行できます。Cisco IOS のマニュアルでは、ユーザ EXEC モードでも特権 EXEC モードでも入力できるコマンドを EXEC モード コマンドと呼んでいます。マニュアルでユーザ EXEC モードなのか特権 EXEC モードなのかが明記されていない場合、どちらのモードでもそのコマンドを実行できるものと考えてかまいません。
グローバル コンフィギュレーション モード
「グローバル」という言葉は、システム全体に影響する特性や機能を示すために使用されています。グローバル コンフィギュレーション モードは、システムをグローバルに設定したり、インターフェイスやプロトコルなどの特定の要素を設定したりする目的で、特定のコンフィギュレーション モードを開始するために使用します。グローバル コンフィギュレーション モードを開始するには、特権 EXEC モードで configure terminal コマンドを使用します。
グローバル コンフィギュレーション モードにアクセスするには、特権 EXEC モードで次のコマンドを使用します。
|
|
Router# configure terminal |
特権 EXEC モードで、グローバル コンフィギュレーション モードを開始します。 |
次に、特権 EXEC モードからグローバル コンフィギュレーション モードを開始するプロセスの例を示します。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
グローバル コンフィギュレーション モードになっていることを示すために、システム プロンプトが変化することに注意してください。グローバル コンフィギュレーション モードのプロンプトは、デバイスのホスト名(config)とポンド記号(#)からなります。特権 EXEC モードで使用できるコマンドの一覧を表示するには、コマンド プロンプトで ? コマンドを発行します。
グローバル コンフィギュレーション モードでコマンドを入力すると、すぐに実行コンフィギュレーション ファイルが更新されます。つまり、設定に対する変更は、有効なコマンドの後で Enter キーまたは Return キーを押すたびに有効になります。ただし、これらの変更は、EXEC モードで copy running-config startup-config コマンドを発行しない限り、スタートアップ コンフィギュレーション ファイルに保存されません。この動作は、このマニュアルの後の項で詳しく説明します。
例に示すように、Ctrl キーと z キーを同時に押すことで、コンフィギュレーション セッションを終了(コンフィギュレーション モードを終了)できることが、システム ダイアログに表示されます。これらのキーを押すと、画面上に ^Z と表示されます。コンフィギュレーション セッションを終了するための方法としては、実際には Ctrl+Z キーの組み合わせ、 end コマンドの使用、Ctrl+C キーの組み合わせがあります。現在のコンフィギュレーション セッションを終了することをシステムに示すための方法としては、 end コマンドが推奨されます。
(注) 有効なコマンドを入力してから、コマンド ラインの最後で Ctrl+Z キーを使用すると、そのコマンドが実行コンフィギュレーション ファイルに追加されます。つまり、Ctrl+Z キーを使用することは、終了前に Enter(復帰)キーを押すことと同じです。このような理由から、end コマンドを使用してコンフィギュレーション セッションを終了するほうが安全です。また、Ctrl+C キーの組み合わせを使用して、復帰シグナルを送信せずにコンフィギュレーション セッションを終了することもできます。
また、 exit コマンドを使用してグローバル コンフィギュレーション モードから EXEC モードに戻ることもできますが、これはグローバル コンフィギュレーション モードだけで使用できます。Ctrl+Z キーを押すか end コマンドを入力することにより、どのコンフィギュレーション モードまたはコンフィギュレーション サブモードにいるかにかかわらず、常に EXEC モードに戻ることができます。
グローバル コンフィギュレーション コマンド モードを終了して特権 EXEC モードに戻るには、次のいずれかのコマンドを使用します。
|
|
Router(config)# end または Router(config)# ^Z |
現在のコンフィギュレーション セッションを終了し、特権 EXEC モードに戻ります。 |
Router(config)# exit |
現在のコマンド モードを終了して、前のモードに戻ります。たとえば、グローバル コンフィギュレーション モードを終了して特権 EXEC モードに戻ります。 |
グローバル コンフィギュレーション モードから、いくつかのプロトコル固有、プラットフォーム固有、機能固有のコンフィギュレーション モードを開始できます。特定のモードに関する情報は、Cisco IOS ソフトウェア マニュアル セット全体を通じて、作業ごとに説明されています。
次の項で説明するインターフェイス コンフィギュレーション モードは、グローバル コンフィギュレーション モードから開始できるコンフィギュレーション モードの 1 つの例です。
インターフェイス コンフィギュレーション モード
グローバル コンフィギュレーション モードから開始する特定のコンフィギュレーション モードの例として、インターフェイス コンフィギュレーション モードがあります。
多くの機能は、インターフェイスごとにイネーブルになります。インターフェイス コンフィギュレーション コマンドは、イーサネット、FDDI、シリアル ポートなど、インターフェイスの動作を変更します。インターフェイス コンフィギュレーション コマンドは、常にインターフェイス タイプを定義するグローバル コンフィギュレーション モードの interface コマンドの後に続きます。
帯域幅やクロック レートなどのように、一般的なインターフェイス パラメータに影響を与えるインターフェイス コンフィギュレーション コマンドの詳細については、『 Cisco IOS Interface and Hardware Component Configuration Guide 』を参照してください。プロトコル固有のコマンドについては、該当する Cisco IOS ソフトウェア コマンド リファレンスを参照してください。
インターフェイス コンフィギュレーション コマンドにアクセスし、その一覧を表示するには、次のコマンドを使用します。
|
|
Router(config)# interface type number |
設定するインターフェイスを指定して、インターフェイス コンフィギュレーション モードを開始します。 |
次の例では、シリアル インターフェイス 0 に対するインターフェイス コンフィギュレーション モードが開始されます。新しいプロンプト hostname(config-if)#
は、インターフェイス コンフィギュレーション モードを示しています。
Router(config)# interface serial 0
インターフェイス コンフィギュレーション モードを終了しグローバル コンフィギュレーション モードに戻るには、 exit コマンドを入力します。
コンフィギュレーション サブモードは、他のコンフィギュレーション モード(グローバル コンフィギュレーション モード以外)から開始されるコンフィギュレーション モードです。コンフィギュレーション サブモードは、コンフィギュレーション モード内の特定の要素を設定するためにあります。コンフィギュレーション サブモードの 1 つの例は、次の項で説明するサブインターフェイス コンフィギュレーション モードです。
サブインターフェイス コンフィギュレーション モード
インターフェイス コンフィギュレーション モードから、サブインターフェイス コンフィギュレーション モードを開始できます。サブインターフェイス コンフィギュレーション モードは、インターフェイス コンフィギュレーション モードのサブモードの 1 つです。サブインターフェイス コンフィギュレーション モードでは、単一の物理インターフェイス上に複数の仮想インターフェイス(サブインターフェイスと呼びます)を設定できます。サブインターフェイスは、さまざまなプロトコルにとって個別の物理インターフェイスのように見えます。たとえば、フレーム リレー ネットワークには、Permanent Virtual Circuit(PVC; 相手先固定接続)と呼ぶ複数のポイントツーポイント リンクがあります。PVC は、個別のサブインターフェイスにグループ化して、1 つの物理インターフェイス上で設定できます。ブリッジング スパニングツリーの観点からは、各サブインターフェイスは個別のブリッジ ポートに見え、1 つのサブインターフェイスに到着したフレームは、別のサブインターフェイス上で送出できます。
また、サブインターフェイスにより、単一のインターフェイス上でプロトコルの複数のカプセル化を使用できます。たとえば、ルータまたはアクセス サーバは、Advanced Research Projects Agency(ARPA-framed)Internetwork Packet Exchange(IPX)パケットを受信し、同じ物理インターフェイスから Subnetwork Access Protocol(SNAP-framed)IPX パケットとして転送できます。
サブインターフェイスの設定方法の詳細については、Cisco IOS ソフトウェア マニュアル セットの特定のプロトコルの該当するドキュメンテーション モジュールを参照してください。
サブインターフェイス コンフィギュレーション モードにアクセスするには、インターフェイス コンフィギュレーション モードで次のコマンドを使用します。
|
|
Router(config-if)# interface type number |
設定する仮想インターフェイスを指定し、サブインターフェイス コンフィギュレーション モードを開始します。 |
次の例では、シリアル ライン 2 のサブインターフェイスで、フレーム リレー カプセル化を設定します。シリアル インターフェイス 2 のサブインターフェイス 1 であることを示すため、サブインターフェイスは「2.1」として識別されます。新しいプロンプト hostname(config-subif)# が、サブインターフェイス コンフィギュレーション モードを示しています。サブインターフェイスは、1 つ以上のフレーム リレー PVC をサポートするように設定できます。
Router(config)# interface serial 2
Router(config-if)# encapsulation frame-relay
Router(config-if)# interface serial 2.1
サブインターフェイス コンフィギュレーション モードを終了しインターフェイス コンフィギュレーション モードに戻るには、 exit コマンドを入力します。コンフィギュレーション セッションを終了し特権 EXEC モードに戻るには、Ctrl+Z キーを押すか、 end コマンドを入力します。
ROM モニタ モード
ROM モニタ モード(ROMMON)は、特別なソフトウェア イメージから実行され、有効なシステム ソフトウェア イメージを手動で探して、そこからシステムをブートするために使用します(ROM モニタ モードは、「ブート モード」とも呼びます)。
システム(ルータ、スイッチ、またはアクセス サーバ)でロードするための有効なシステム イメージが見つからない場合、システムは ROM モニタ モードになります。ROM モニタ モードには、起動時にブート シーケンスに割り込むことでもアクセスできます。ROM モニタ モードから、デバイスをブートするか診断テストを実行できます。
ほとんどのシステムでは、 reload EXEC コマンドを実行し、起動の最初の 60 秒間に Break コマンドを使用することで、ROM モニタ モードを開始できます。Break コマンドを発行するには、キーボードの Break キーを押すか、Break キーの組み合わせ(デフォルトの Break キーの組み合わせは Ctrl+C です)を使用します。
(注) Telnet 接続はシステムをリブートすると失われるため、この手順を実行するには、ルータにコンソールを接続する必要があります。
EXEC モードから ROM モニタ モードにアクセスするには、次の手順を実行します。
ステップ 1 EXEC モードで reload コマンドを実行します。このコマンドを実行し、必要に応じてシステム プロンプトに応答した後、システムはシステム ソフトウェア イメージのリロードを開始します。
ステップ 2 システム起動の最初の 60 秒間に Break コマンドを実行します。break コマンドを発行するには、Break キーを押すか、Break キーの組み合わせを押します(デフォルトの Break キーの組み合わせは Ctrl+C ですが、システム上で別のものに設定できます)。break コマンドを実行すると、ブート シーケンスが割り込まれ、ROM モニタ モードが開始されます。
ROM モニタ モードを開始するもう 1 つの方法は、ブート時にルータが自動的に ROM モニタ モードになるようにコンフィギュレーション レジスタを設定することです。コンフィギュレーション レジスタの設定については、『 Rebooting and Reloading - Configuring Image Loading Characteristics 』を参照してください。
ROM モニタ モードでは、コマンド ライン プロンプトとして山カッコ(>)が使用されます。シスコ デバイスの一部では、デフォルトの ROM モニタ モードのプロンプトは rommon > です。ROM モニタ コマンドの一覧を表示するには、 ? コマンドまたは help コマンドを入力します。次に、このコマンド一覧の表示例を示します。
User break detected at location 0x8162ac6\Œ
alias set and display aliases command
boot boot up an external process
break set/show/clear the breakpoint
confreg configuration register utility
cont continue executing a downloaded image
context display the context of a loaded image
cpu_card_type display CPU card type
dev list the device table
dir list files in file system
dis disassemble instruction stream
frame print out a selected stack frame
help monitor builtin command help
history monitor command history
meminfo main memory information
repeat repeat a monitor command
set show all monitor variables
stack produce a stack trace
sync write monitor environment to NVRAM
sysret print out info from last system return
unset unset a monitor variable
使用できるコマンドの一覧は、使用しているソフトウェア イメージとプラットフォームに依存します。一部のバージョンの ROMMON では、次のように、別名の形式でコマンドの一覧が表示されます。
$ state Toggle cache state (? for help)
B [filename] [TFTP Server IP address | TFTP Server Name]
Load and execute system image from ROM or from TFTP server
C [address] Continue execution [optional address]
D /S M L V Deposit value V of size S into location L with modifier M
E /S M L Examine location L with size S with modifier M
G [address] Begin execution
L [filename] [TFTP Server IP address | TFTP Server Name]
Load system image from ROM or from TFTP server, but do not
O Show configuration register option settings
S Single step next instruction
T function Test device (? for help)
Deposit and Examine sizes may be B (byte), L (long) or S (short).
Modifiers may be R (register) or S (byte swap).
Register names are: D0-D7, A0-A6, SS, US, SR, and PC
ROM モニタ モードを終了するには、 continue コマンドを使用します。これにより、ブート プロセスが再起動されます。
ROM モニタ モードの特性と ROM モニタ モードの使用方法については、『 Rebooting and Reloading - Configuring Image Loading Characteristics 』を参照してください。
Cisco IOS の主なコマンド モードの要約
表 1 に、Cisco IOS CLI で使用される主なコマンド モードの要約を示します。
表 1 Cisco IOS の主なコマンド モードの要約
|
|
|
|
ユーザ EXEC |
ログイン。 |
Router> |
logout コマンドを使用します。 |
特権 EXEC |
ユーザ EXEC モード で enable EXEC コマンドを使用します。 |
Router# |
ユーザ EXEC モードを終了するには、 disable コマンドを使用します。 グローバル コンフィギュレーション モードを開始するには、 configure terminal 特権 EXEC コマンドを使用します。 |
グローバル コンフィギュレーション |
特権 EXEC モードで、 configure terminal コマンドを使用します。 |
Router(config)# |
終了して特権 EXEC モードに戻るには、 end コマンドを使用するか、 Ctrl+Z キーを押します。 インターフェイス コンフィギュレーション モードを開始するには、 interface コンフィギュレーション コマンドを使用します。 |
インターフェイス コンフィギュレーション |
グローバル コンフィギュレーション モードで、 interface コマンドでインターフェイスを指定して開始します。 |
Router(config-if)# |
終了してグローバル コンフィギュレーション モードに戻るには、 exit コマンドを使用します。 終了して特権 EXEC モードに戻るには、 end コマンドを使用するか、 Ctrl+Z キーを押します。 サブインターフェイス コンフィギュレーション モードを開始するには、 interface コマンドでサブインターフェイスを指定します。 |
サブインターフェイス コンフィギュレーション |
インターフェイス コンフィギュレーション モードで、 interface コマンドを使用してサブインターフェイスを指定します(このモードを使用できるかどうかは、プラットフォームに依存します)。 |
Router(config-subif)# |
終了してグローバル コンフィギュレーション モードに戻るには、 exit コマンドを使用します。 終了して特権 EXEC モードに戻るには、 end コマンドを使用するか、 Ctrl+Z キーを押します。 |
ROM モニタ |
特権 EXEC モードで、 reload EXEC コマンドを使用します。システムの起動時、最初の 60 秒以内に Break キーを押します。 |
または
または rommon > |
ロード プロセスに割り込むことで ROM モニタ モードを開始した場合、 continue コマンドを使用することで、ROM モニタ モードを終了し、ロードを再開できます。 |
状況依存ヘルプの参照
システム プロンプトで疑問符( ? )を入力すると、各コマンド モードで使用できるコマンドの一覧が表示されます。また、状況依存ヘルプ機能を使用して、任意のコマンドで使用できる引数とキーワードの一覧を参照できます。
コマンド モード、コマンド名、キーワード、または引数に固有のヘルプを参照するには、次のいずれかのコマンドを使用します。
|
|
( prompt )# help |
ヘルプ システムの簡単な説明が表示されます。 |
( prompt )# abbreviated-command-entry ? |
現在のモードの、特定の文字ストリングで始まるコマンドの一覧を表示します。 |
( prompt )# abbreviated-command-entry < Tab > |
特定のコマンド名を補完します。 |
( prompt )# ? |
そのコマンド モードで使用できるすべてのコマンドの一覧を表示します。 |
( prompt )# command ? |
そのコマンドで使用可能な構文オプション(引数とキーワード)の一覧を表示します。 |
( prompt )# command keyword ? |
そのコマンドで次に使用できる構文オプションの一覧を表示します。 |
システム プロンプトは、現在のコンフィギュレーション モードによって変わることに注意してください。
状況依存ヘルプを使用する際、疑問符( ? )の前のスペース(またはスペースの不足)は重要です。特定の文字シーケンスで始まるコマンドの一覧を表示するには、それらの文字を入力した後、すぐに疑問符( ? )を入力します。スペースは含めません。この形式のヘルプは、単語が補完されることから、ワード ヘルプと呼ばれます。詳細については、この章の部分的なコマンド名の補完の項を参照してください。
キーワードまたは引数の一覧を表示するには、キーワードまたは引数の代わりに疑問符( ? )を入力します。 ? の前にはスペースを挿入します。この形式のヘルプは、コマンド構文ヘルプと呼びます。これは、すでに入力したコマンド、キーワード、および引数に基づいて、使用できるキーワードや引数が表示されるためです。
コマンドやキーワードは、一意になる文字数まで省略できます。たとえば、 configure terminal コマンドは config t に省略できます。コマンドの省略形が一意であるため、ルータによって省略形が受け付けられ、コマンドが実行されます。
help コマンド(どのコマンド モードでも使用できます)を実行すると、次のようにヘルプ システムの説明が表示されます。
Help may be requested at any point in a command by entering
a question mark '?'. If nothing matches, the help list will
be empty and you must back up until entering a '?' shows the
Two styles of help are provided:
1. Full help is available when you are ready to enter a
command argument (e.g. 'show ?') and describes each possible
2. Partial help is provided when an abbreviated argument is entered
and you want to know what arguments match the input
help コマンドの出力が示すように、疑問符( ? )を使用して部分的なコマンド名を補完したり(部分ヘルプ)、現在のコマンドを補完する引数またはキーワードの一覧を表示したりできます。
次に、状況依存ヘルプ機能を使用して、コンフィギュレーション モードでアクセス リストを作成する例を示します。
システム プロンプトで、 co に続けて疑問符( ? )を入力します。最後の文字と疑問符の間にはスペースを入れません。システムには co で始まるコマンドが表示されます。
configure コマンドの後にスペースと疑問符を入力すると、そのコマンドのキーワードと簡単な説明の一覧が表示されます。
memory Configure from NV memory
network Configure from a TFTP network host
overwrite-network Overwrite NV memory from TFTP network host
terminal Configure from the terminal
一覧中の <cr> 記号(「cr」は復帰を表します)は、Return キーまたは Enter キーを押して、キーワードを追加せずにコマンドを実行することが 1 つの選択肢であることを示します。この例の出力は、configure コマンドのオプションが、 configure memory (NVRAM から設定)、 configure network (ネットワーク上のファイルから設定)、 configure overwrite-network (ネットワーク上のファイルから設定し、NVRAM 内のファイルを置換)、または configure terminal (端末接続から手動で設定)のいずれかであることを示しています。ほとんどのコマンドで、<cr> 記号は、入力済みの構文でコマンドを実行できることを示すために使用されます。ただし、configure コマンドは特殊であり、CLI によって不足している構文の入力を求められます。
Configuring from terminal, memory, or network [terminal]? terminal
Enter configuration commands, one per line. End with CNTL/Z.
? プロンプトに対するデフォルトの応答は、CLI 出力中の行末にある角カッコで囲まれたオプションによって示されます。上の例で、Enter(または Return)キーを押すことは、「terminal」と入力するのと同じです。
グローバル コンフィギュレーション モードを開始するには、 configure terminal コマンドを実行します。
Router# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
CLI では、エラー インジケータであるキャレット記号(^)を使用してエラーの位置が示されます。^ 記号は、コマンド構文中の、ユーザが正しくないか認識されないコマンド構文を入力した場所に表示されます。たとえば、次の出力のキャレット記号は、コマンド中の入力ミスした文字を示しています。
Router# configure terminal
% Invalid input detected at '^' marker.
エラー マーカーを警告するため、画面上にエラー メッセージ(% 記号によって示されます)が表示されることに注意してください。
access-list コマンドの後にスペースと疑問符を入力すると、コマンドで使用できるオプションの一覧が表示されます。
Router(config)# access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
<1100-1199> Extended 48-bit MAC address access list
<1300-1999> IP standard access list (expanded range)
<200-299> Protocol type-code access list
<2000-2699> IP extended access list (expanded range)
<700-799> 48-bit MAC address access list
dynamic-extended Extend the dynamic ACL absolute timer
rate-limit Simple rate-limit specific access list
山カッコ内の 2 つの数値は、包含範囲を表します。アクセス リスト番号 99 を入力し、再度疑問符を入力すると、キーワードに該当する引数と簡単な説明が表示されます。
Router(config)# access-list 99 ?
deny Specify packets to reject
permit Specify packets to forward
deny 引数の後に疑問符( ? )を入力すると、追加のオプションの一覧が表示されます。
Router(config)# access-list 99 deny ?
一般に大文字は変数(引数)を表します。IP アドレスに続けて疑問符( ? )を入力すると、追加オプションの一覧が表示されます。
Router(config)# access-list 99 deny 172.31.134.0 ?
A.B.C.D Mask of bits to ignore
この出力で、A.B.C.D は、ワイルドカード マスクを使用できることを示しています。ワイルドカード マスクは、IP アドレスまたは IP アドレスの範囲を照合するための方法の 1 つです。たとえば、ワイルドカード マスク 0.0.0.255 は、IP アドレスの第 4 オクテットの 0 ~ 255 の範囲のどの数値にも一致します。
ワイルドカード マスクに続けて疑問符( ? )を入力すると、さらにオプションの一覧が表示されます。
Router(config)# access-list 99 deny 172.31.134.0 0.0.0.255 ?
<cr> 記号は、それ以上キーワードや引数がないことを示します。Enter(または Return)キーを押してコマンドを実行します。
Router(config)# access-list 99 deny 172.31.134.0 0.0.0.255
システムにはエントリがアクセス リスト 99 に追加され、サブネット 172.31.134.0 上のすべてのホストへのアクセスが拒否され、0 ~ 255 の範囲で終わる IP アドレスに対するビットが無視されます。
すべてのユーザ EXEC コマンドの表示
すべてのユーザ EXEC コマンドを表示するように現在のセッションを設定するには、ユーザ EXEC モードまたは特権 EXEC モードで次のコマンドを使用します。
|
|
Router# terminal full-help |
すべてのユーザ レベル コマンドのヘルプを表示するようにこのセッションを設定します。 |
システム管理者はライン コンフィギュレーション モードで、 full-help コマンドを使用して、特定の回線に対して行われた接続については常に完全なヘルプを表示するようにシステムを設定することもできます。
full-help コマンドと terminal full-help コマンドを使用すると、 show ? コマンドを実行したときに、ユーザ EXEC モードで利用可能なすべてのヘルプ メッセージを表示できます。
次に示す、 show ? コマンドの出力例は、 terminal full-help コマンドをディセーブルにした場合とイネーブルにした場合の出力です。
Router> terminal no full-help
bootflash Boot Flash information
calendar Display the hardware calendar
clock Display the system clock
context Show context information
dialer Dialer parameters and statistics
history Display the session command history
hosts IP domain-name, lookup style, nameservers, and host table
kerberos Show Kerberos Values
modemcap Show Modem Capabilities database
ppp PPP parameters and statistics
sessions Information about Telnet connections
terminal Display terminal configuration parameters
users Display information about terminal lines
version System hardware and software status
Router> terminal full-help
access-expression List access expression
access-lists List access lists
aliases Display alias commands
apollo Apollo network information
appletalk AppleTalk information
async Information on terminal lines used as router interfaces
bootflash Boot Flash information
bridge Bridge Forwarding/Filtering Database [verbose]
bsc BSC interface information
bstun BSTUN interface information
buffers Buffer pool statistics
calendar Display the hardware calendar
clns CLNS network information
clock Display the system clock
cmns Connection-Mode networking services (CMNS) information
CLI 編集機能とショートカットの使用
Cisco IOS CLI では、さまざまなショートカットと編集機能が使用できます。以降のサブセクションで次の機能について説明します。
• 「コマンドラインでのカーソルの移動」
• 「部分的なコマンド名の補完」
• 「削除したエントリの呼び出し」
• 「折り返されるコマンド ラインの編集」
• 「エントリの削除」
• 「--More-- プロンプトでの出力の続行」
• 「現在のコマンドラインの再表示」
• 「入力ミスした文字の入れ替え」
• 「大文字と小文字の制御」
• 「キーストロークをコマンド エントリとして指定」
• 「編集機能のディセーブル化と再イネーブル化」
コマンドラインでのカーソルの移動
表 2 に、修正または変更を行うために、コマンド ライン上でカーソルを移動するために使用できるキーの組み合わせまたはシーケンスを示します。Ctrl は Control キーを示し、対応する文字キーと同時に押す必要があります。Esc は Escape キーを示し、最初に押してから対応する文字キーを押します。キーの大文字と小文字は区別されません。CLI のナビゲーションと編集で使用される文字の多くは、その機能を簡単に覚えておけるように選択されています。 表 2 で、「機能の要約」欄の太字の文字は、使用される文字とその機能の間の関係を示します。
表 2 カーソル移動に使用されるキーの組み合わせ
|
|
|
← または Ctrl + B |
1 文字戻る( B ack character) |
カーソルを 1 文字分だけ後退させます。 複数行にわたってコマンドを入力するときは、←キーまたは Ctrl+B キーを繰り返し押してシステム プロンプトまでスクロール バックして、コマンド エントリの先頭まで移動できます。あるいは Ctrl+A キーを押してコマンド エントリの先頭に移動します。 |
→ または Ctrl + F |
1 文字進む( F orward character) |
カーソルを 1 文字分だけ進めます。 |
Esc 、 B |
1 単語戻る( B ack word) |
カーソルを 1 単語分だけ戻します。 |
Esc 、 F |
1 単語進む( F orward word) |
カーソルを 1 単語分だけ進めます。 |
Ctrl + A |
行の先頭(Beginning of line) |
カーソルを行の先頭に移動します。 |
Ctrl + E |
行末( E nd of line) |
カーソルをコマンドラインの末尾に移動します。 |
部分的なコマンド名の補完
完全なコマンド名を思い出せない場合や、入力量を減らす場合は、コマンドの先頭の数文字を入力して、Tab キーを押します。コマンドライン パーサーは、入力されたストリングがコマンド モードに対して一意である場合に、コマンドを補完します。キーボードに Tab キーがない場合は、代わりに Ctrl + I キーを押します。
コマンドは、コマンドが一意になるのに十分な文字が入力されていれば認識されます。たとえば、特権 EXEC モードで conf と入力すると、エントリを configure コマンドと関連付けることができます。これは、 conf で始まるコマンドが configure コマンドしかないためです。
次の例で、Tab キーを押すと、特権 EXEC モードの conf に対する一意のストリングが認識されます。
コマンド補完機能を使用すると、CLI により完全なコマンド名が表示されます。Return キーか Enter キーを押すまでコマンドは実行されません。これにより、完全なコマンドが省略形によって意図したものでない場合に、コマンドを修正できます。複数のコマンドに該当する文字列を入力した場合、テキスト ストリングが一意でないことを示すためにブザー音が鳴ります。
コマンドが補完できない場合は、疑問符( ? )を入力して、その文字で始まるコマンドの一覧を表示します。入力した最後の文字と疑問符( ? )の間にはスペースを入れません。
たとえば、 co? と入力すると、現在のコマンド モードで使用可能なすべてのコマンドの一覧が表示されます。
疑問符の前に入力した文字は、コマンドを完全に入力できるように画面に表示されます。
エントリの削除
入力を間違えた場合や気が変わった場合に、コマンド エントリを削除するには、次のキーまたはキーの組み合わせを使用します。
|
|
Delete または Backspace |
カーソルの左にある文字を削除します。 |
Ctrl + D |
カーソル位置にある文字を削除します。 |
Ctrl + K |
カーソル位置からコマンドラインの末尾までのすべての文字を削除します。 |
Ctrl + U または Ctrl + X |
カーソル位置からコマンドラインの先頭までのすべての文字を削除します。 |
Ctrl + W |
カーソルの左にある単語を削除します。 |
Esc 、 D |
カーソルの位置から単語の末尾までを削除します。 |
削除したエントリの呼び出し
CLI では、削除したコマンドまたはキーワードが履歴バッファに格納されます。スペースで始まるかスペースで終わるストリングだけがバッファに格納され、削除した個別の文字(Backspace または Ctrl+D を使用)は格納されません。バッファには、Ctrl+K、Ctrl+U、または Ctrl+X で削除された最後の 10 個の項目が格納されます。これらの項目を呼び出してコマンドラインに貼り付けるには、次のキーの組み合わせを使用します。
|
|
Ctrl + Y |
バッファ内の最新のエントリを呼び出します(キーを同時に押します)。 |
Esc 、 Y |
履歴バッファ内の前のエントリを呼び出します(キーは順番に押します)。 |
Esc、Y キー シーケンスは、最初に Ctrl+Y キーの組み合わせを押さない限り機能しません。Esc、Y を 11 回以上押すと、バッファ内の最新のエントリに戻ります。
折り返されるコマンド ラインの編集
CLI には、画面上の 1 行を超えるコマンドに対する折り返し機能が備わっています。カーソルが右余白に到達すると、コマンド ラインが左に 10 スペース分移動します。行の先頭の 10 文字は見えなくなりますが、スクロールで戻ることで、コマンドの先頭の構文を確認できます。スクロールで戻るには、Ctrl+B キーまたは←キーを繰り返し押してコマンド エントリの先頭に戻るか、Ctrl+A キーを押して直接行の先頭に戻ります。
次の例で、 access-list コマンド エントリが 1 行を超えています。カーソルが行末に到達すると、行が 10 スペース分左に移動し、再表示されます。ドル記号($)は、行が左にスクロールされたことを示しています。カーソルが行末に到達するたびに、行が再度左に 10 スペース分移動します。
Router(config)# access-list 101 permit tcp 172.31.134.5 255.255.255.0 172.31.1
Router(config)# $ 101 permit tcp 172.31.134.5 255.255.255.0 172.31.135.0 255.25
Router(config)# $t tcp 172.31.134.5 255.255.255.0 172.31.135.0 255.255.255.0 eq
Router(config)#
$31.134.5 255.255.255.0 172.31.135.0 255.255.255.0 eq 45
入力を完了したら、Return キーを押してコマンドを実行する前に、 Ctrl+A キーを押して、完全な構文を確認します。行が右にスクロールしていることを示すため、ドル記号($)が行末に表示されます。
Router(config)# access-list 101 permit tcp 172.31.134.5 255.255.255.0 172.31.1$
Cisco IOS ソフトウェアでは、幅が 80 カラムの端末画面がデフォルトで設定されます。画面の幅が異なる場合は、ユーザ EXEC モードで terminal width コマンドを使用して端末の幅を設定します。
ライン ラップとコマンド履歴機能を組み合わせることで、以前の複雑なコマンド エントリを呼び出したり修正したりできます。以前のコマンド エントリを呼び出す方法については、この章の「コマンドの呼び出し」を参照してください。
--More-- プロンプトでの出力の続行
Cisco IOS CLI を使用する場合、出力が画面に表示可能な長さを超えることがあります。多数の ? 、 show 、または more コマンドの出力など、出力が画面の下端を超えて続く場合、出力が一時停止され、--More-- プロンプトが下面の下部に表示されます。出力を再開するには、Return キーを押して下に 1 行スクロールするか、スペースキーを押して出力の次の 1 画面分を表示します。
ヒント 出力が画面上で一時停止していて、--More-- プロンプトが表示されない場合は、ライン コンフィギュレーション モードで length コマンドまたは特権 EXEC モードで terminal length コマンドを使用して、画面の長さにより小さな値を入力します。length の値をゼロにするとコマンド出力は一時停止しなくなります。
--More-- プロンプトからの出力のフィルタリングについては、この章の「CLI 出力の検索とフィルタリング」の項を参照してください。
現在のコマンドラインの再表示
コマンドを入力していて、突然システムから画面にメッセージが表示された場合、現在のコマンド ライン エントリを簡単に呼び出すことができます。現在のコマンド ラインを再表示(画面を更新)するには、次のキーの組み合わせのうちいずれかを使用します。
|
|
Ctrl + L または Ctrl + R |
現在のコマンド ラインを再表示します。 |
入力ミスした文字の入れ替え
コマンド入力をミスした場合、入力ミスした文字を入れ替えることができます。文字を入れ替えるには、次のキーの組み合わせを使用します。
|
|
Ctrl + T |
カーソルの左にある文字を、カーソルの右にある文字と置き換えます。 |
大文字と小文字の制御
単純なキー シーケンスで単語を大文字または小文字にしたり、文字セットを大文字にすることができます。ただし、Cisco IOS コマンドでは、一般に大文字と小文字が区別されず、通常はすべて小文字で入力します。コマンドの大文字と小文字を変更するには、次のキー シーケンスを使用します。
|
|
Esc 、 C |
カーソルの場所にある文字を大文字にします。 |
Esc 、 L |
カーソルの場所にある単語を小文字にします。 |
Esc 、 U |
カーソルの位置から単語の末尾までを大文字にします。 |
キーストロークをコマンド エントリとして指定
特定のキーストローク(キーの組み合わせまたはシーケンス)をコマンド エイリアスとして認識するようにシステムを設定できます。つまり、ストロークを、コマンドを実行するためのショートカットとして設定できます。システムにキーストロークをコマンドとして解釈させるには、コマンド シーケンスを入力する前に、次のいずれかのキーの組み合わせを使用します。
|
|
Ctrl + V または Esc 、 Q |
システムが次のキーストロークをユーザ設定コマンド エントリとして受け付けるように設定します(編集コマンドとしてではありません)。 |
編集機能のディセーブル化と再イネーブル化
これまでの項で説明した編集機能は Cisco IOS Release 9.21 で追加され、システムで自動的にイネーブルになります。しかし、これらの編集機能をディセーブルにすることが望ましい状況がいくつかあります。たとえば、編集機能と競合するスクリプトがある場合です。編集機能をグローバルにディセーブルにするには、ライン コンフィギュレーション モードで次のコマンドを使用します。
|
|
Router(config-line)#
no editing
|
特定の回線に対して CLI 編集機能をディセーブルにします。 |
現在の端末セッションに対して編集機能をディセーブルにするには、ユーザ EXEC モードで次のコマンドを使用します。
|
|
Router# no terminal editing |
ローカル ラインに対して CLI 編集機能をディセーブルにします。 |
現在の端末セッションに対して編集機能を再度イネーブルにするには、ユーザ EXEC モードで次のコマンドを使用します。
|
|
Router# terminal editing |
現在の端末セッションに対して CLI 編集機能をイネーブルにします。 |
特定の回線に対して編集機能を再度イネーブルにするには、ユーザ EXEC モードで次のコマンドを使用します。
|
|
Router(config-line)# editing |
CLI 編集機能をイネーブルにします。 |
CLI 出力の検索とフィルタリング
Cisco IOS CLI には、大量のコマンド出力を検索したり、出力をフィルタリングして不要な情報を除外するための手段が提供されています。これらの機能は、一般に大量のデータが表示される、 show コマンドと more コマンドで使用できます。
(注) show コマンドと more コマンドは、常にユーザ EXEC モードまたは特権 EXEC モードで実行します。
画面に表示される内容を超えて出力が続く場合、Cisco IOS CLI では --More-- プロンプトが表示されます。Return キーを押すことで次の行が表示され、スペースキーを押すことで次の画面が表示されます。CLI ストリング検索機能を使用すると、--More-- プロンプトからの出力を検索またはフィルタリングできます。
正規表現について
正規表現は、CLI ストリング検索機能によって、 show コマンドまたは more コマンドの出力と照合されるパターン(句、数値、またはより複雑なパターン)です。正規表現では、大文字と小文字が区別され、複雑な一致要件を指定することが可能です。単純な正規表現としては、Serial、misses、138 などがあります。複雑な正規表現としては、00210...、( is )、[Oo]utput などがあります。
正規表現は、単一文字パターンか複数文字パターンです。つまり、正規表現は、コマンド出力中の同じ 1 文字に一致する 1 つの文字か、コマンド出力中の同じ複数の文字に一致する複数の文字です。コマンド出力中のパターンをストリングと呼びます。この項では、単一文字パターンと複数文字パターンの作成について説明します。また、量指定子、選択、位置指定、カッコを使用したより複雑な正規表現についても説明します。
単一文字パターン
最も単純な正規表現は、コマンド出力内の同じ 1 つの文字と一致する単一文字です。単一文字パターンとして、任意の文字(A ~ Z、a ~ z)または数字(0 ~ 9)を使用することができます。他のキーボード文字(! や ~ など)を、単一文字パターンとして使用することもできますが、特定のキーボード文字は、正規表現内で使用した場合特別な意味を持ちます。 表 3 に、特別な意味を持つキーボード文字の一覧を示します。
表 3 特別な意味を持つ文字
|
|
. |
スペースを含む任意の単一文字と一致します。 |
* |
0 個以上のパターンのシーケンスと一致します。 |
+ |
1 個以上のパターンのシーケンスと一致します。 |
? |
0 または 1 回のパターンと一致します。 |
^ |
ストリングの最初と一致します。 |
$ |
ストリングの最後と一致します。 |
_(アンダースコア) |
カンマ(,)、左波カッコ({)、右波カッコ(})、左カッコ(()、右カッコ())、ストリングの先頭、ストリングの末尾、またはスペースと一致します。 |
これらの特殊文字を単一文字パターンとして使用するときは、各文字の前にバックスラッシュ(\)を置いて特別な意味を除外してください。次の例は、それぞれドル記号、アンダースコア、プラス記号に一致する単一文字パターン マッチングの例です。
\$ \_ \+
単一文字パターンを範囲指定して、コマンド出力とのマッチングを行うことができます。たとえば、文字 a、e、i、o、u のいずれかを含むストリングに一致する正規表現を作成できます。パターン マッチングが成功するためには、これらの文字のいずれかだけがストリング中に存在する必要があります。単一文字パターンを範囲指定するには、単一文字パターンを角カッコ( [ ] )で囲みます。たとえば、 [aeiou] は小文字アルファベットの 5 つの母音のうちの任意の 1 文字と一致しますが、 [abcdABCD] は小文字または大文字アルファベットの最初の 4 つの文字のうちの任意の 1 文字と一致します。
ダッシュ(-)で区切って範囲の終点だけを入力することにより範囲を簡略化することができます。上の範囲は次のように単純化されます。
[a-dA-D]
ダッシュを範囲内の単一文字パターンとして追加するには、ダッシュをもう 1 つ追加し、その前にバックスラッシュを入力します。
[a-dA-D\-]
次に示すように、右角カッコ(])を、範囲内の単一文字パターンとして追加することもできます。
[a-dA-D\-\]]
上の例は、大文字または小文字のアルファベットの最初の 4 文字、ダッシュ、右角カッコのいずれかに一致します。
範囲の先頭にキャレット(^)を追加することで、範囲の一致を反転させることができます。次の例は、その中の文字以外の文字に一致します。
[^a-dqsv]
次の例は、右角カッコ(])または文字 d 以外のすべてと一致します。
[^\]d]
複数文字パターン
正規表現を作成するとき、複数の文字を含むパターンを指定することもできます。複数文字正規表現は、文字、数字、特別な意味のないキーボード文字を組み合わせて作成します。たとえば、a4% は複数文字の正規表現です。文字をそのとおりに解釈することを指示するには、特別な意味のあるキーボード文字の前にバックスラッシュを挿入します。
複数文字パターンでは、順序が大切です。正規表現 a4% は、a という文字の後に 4 が続き、その後に % 記号が続く文字と一致します。ストリングの中に a4% という文字がその順序で含まれていないと、パターン マッチングは失敗します。複数文字正規表現 a. では、ピリオド文字の特別な意味を使用しており、a という文字の後に任意の文字が 1 つ来るストリングと一致します。この例では、ab、a!、または a2 というストリングはすべてこの正規表現と一致します。
ピリオド文字の特別な意味を無効にするには、その前にバックスラッシュを挿入します。たとえば、表現 a\. がコマンド構文で使用されている場合、ストリング a. だけが一致します。
すべての文字、すべての数字、すべてのキーボード文字、文字と数字とその他のキーボード文字の組み合わせを含む複数文字正規表現を作成できます。たとえば、 telebit 3107 v32bis は有効な正規表現です。
量指定子
Cisco IOS ソフトウェアに対して、指定した正規表現の複数の出現に一致させることを指示するため、より複雑な正規表現を作成できます。そのためには、単一文字パターンおよび複数文字パターンとともに、いくつかの特殊文字を使用します。 表 4 に、正規表現の「複数回の出現」を示す特殊文字の一覧を示します。
表 4 量指定子として使用される特殊文字
|
|
* |
0 以上の単一文字パターンまたは複数文字パターンと一致します。 |
+ |
1 以上の単一文字パターンまたは複数文字パターンと一致します。 |
? |
1 以上の単一文字パターンまたは複数文字パターンの 0 回または 1 回の出現と一致します。 |
次の例は、空文字を含む文字 a の任意の回数の出現と一致します。
a*
次のパターンでは、ストリングが一致するためには、文字 a が少なくとも 1 文字含まれていることが必要です。
a+
次のパターンは、ストリング bb または bab と一致します。
ba?b
次のストリングは、任意の数のアスタリスク(*)と一致します。
\**
複数文字パターンとともに量指定子を使用するには、パターンをカッコで囲みます。次の例で、パターンは複数文字ストリング ab の任意の回数の出現と一致します。
(ab)*
より複雑な例として、次のパターンは、英数字のペアの 1 つ以上のインスタンスに一致しますが、空文字には一致しません(つまり、空のストリングは一致しません)。
([A-Za-z][0-9])+
量指定子(*、+、または ?)を使用した一致の順序は、最長構造優先です。ネストした構造は、外側から内側に一致します。連結された構造は、構造の左側から一致します。そのため、この正規表現は A9b3 に一致しますが、9Ab3 には一致しません。これは、英文字が数字の前に指定されているためです。
選択
選択を使用すると、ストリングに対して一致する代替パターンを指定できます。代替パターンは縦線( | )で区切ります。代替パターンのうちの 1 つがストリングに一致します。たとえば、正規表現 codex|telebit は、ストリング codex またはストリング telebit に一致しますが、codex と telebit の両方には一致しません。
位置指定
Cisco IOS ソフトウェアに対し、ストリングの先頭または末尾に対して正規表現パターンを一致させることを指示できます。つまり、ストリングの先頭または末尾に特定のパターンが含まれていることを指定できます。ストリングの一部に対してこれらの正規表現を「位置指定」するには、 表 5 に示す特殊文字を使用します。
表 5 位置指定に用いられる特殊文字
|
|
^ |
ストリングの最初と一致します。 |
$ |
ストリングの最後と一致します。 |
たとえば、正規表現 ^con は con で始まるストリングに一致し、 $sole は sole で終わるストリングに一致します。
^ 記号は、ストリングの先頭を示すのに加えて、角カッコの中で使用された場合に論理的な「not」を示すものとして使用できます。たとえば、正規表現 [^abcd] は、a、b、c、または d 以外の任意の単一文字に一致する範囲を示します。
これらの位置指定文字は、特殊文字アンダースコア(_)とともに使用します。アンダースコアは、ストリングの先頭(^)、ストリングの末尾($)、カッコ(( ))、スペース( )、波カッコ({})、カンマ(,)、アンダースコア(_)に一致します。アンダースコア文字を使用すると、パターンがストリング中のいずれかの場所に存在することを指定できます。たとえば、 _1300_ は、ストリング中のいずれかの場所に 1300 がある任意のストリングに一致します。ストリング 1300 の前後にスペース、波カッコ、カンマ、アンダースコアのいずれかがあってもかまいません。そのため、{1300_ は正規表現 _1300_ に一致しますが、21300 や 13000 は一致しません。
アンダースコア文字を使用することで、長い正規表現リストを置き換えることができます。たとえば、 ^1300( ) ( )1300$ {1300, ,1300, {1300} ,1300, (1300 と指定する代わりに、 _1300_ と指定できます。
後方参照のためのカッコ
「量指定子」の項に示したように、複数文字正規表現をカッコで囲み、パターンの出現を繰り返すことができます。また、単一文字パターンまたは複数文字パターンをカッコで囲み、Cisco IOS ソフトウェアに対して、正規表現の別の場所で使用するためにパターンを覚えておくことを指示できます。
前のパターンを後方参照する正規表現を作成するには、カッコを使用して特定のパターンの記憶を指示し、バックスラッシュ(\)の後に数字を使用して記憶したパターンを再利用します。数字は、正規表現パターン内のカッコの出現を指定します。正規表現内に複数のパターンがある場合、\1 は最初に記憶したパターンを示し、\2 は 2 番目に記憶したパターンとなり、以下同様となります。
次の正規表現では、後方参照のためにカッコを使用しています。
a(.)bc(.)\1\2
この正規表現は、a の後に任意の文字(これを文字番号 1 とします)、bc、任意の文字(文字番号 2)、文字番号 1、文字番号 2 が続くストリングに一致します。そのため、この正規表現は aZbcTZT に一致します。ソフトウェアは、文字番号 1 が Z であり、文字番号 2 が T であることを記憶し、正規表現の後半で Z と T を再度使用します。
show コマンドの検索とフィルタリング
show コマンドの出力を検索するには、特権 EXEC モードで次のコマンドを使用します。
|
|
Router# show any-command | begin regular-expression |
show コマンドのフィルタリングされていない出力を、正規表現を含む最初の行で開始します。 |
(注) Cisco IOS のマニュアルでは、縦線を、一般に構文の選択肢を示すために使用します。しかし、show コマンドと more コマンドの出力を検索するには、パイプ文字(縦線)を入力する必要があります。この項では、パイプを入力する必要があることを示すために、太字(|
)で表します。
show コマンドの出力をフィルタリングするには、特権 EXEC モードで次のコマンドのいずれかを使用します。
|
|
Router# show any-command | exclude regular-expression |
正規表現を含まない出力行を表示します。 |
Router# show any-command | include regular-expression |
正規表現を含む出力行を表示します。 |
ほとんどのシステムで、Ctrl+Z キーの組み合わせを使用して、いつでも出力を中断し特権 EXEC モードに戻ることができます。たとえば、 show running-config | begin hostname コマンドを使用して、実行コンフィギュレーション ファイルの、ホスト名の設定を含む行から表示を開始できます。次に、関心のある情報の最後まで確認し終えたら、Ctrl+Z を使用します。
(注) 感嘆符(!)またはセミコロン(;)が続く文字は、コメントとして扱われ、コマンドでは無視されます。
more コマンドの検索とフィルタリング
more コマンドは、 show コマンドと同様に検索できます( more コマンドは、 show コマンドと同じ機能を実行します)。 more コマンドの出力を検索するには、ユーザ EXEC モードで次のコマンドを使用します。
|
|
Router# more any-command | begin regular-expression |
more コマンドのフィルタリングされていない出力を、正規表現を含む最初の行で開始します。 |
more コマンドは、 show コマンドと同様にフィルタリングできます。 more コマンドの出力をフィルタリングするには、ユーザ EXEC モードで次のコマンドのいずれかを使用します。
|
|
Router# more any-command | exclude regular-expression |
正規表現を含まない出力行を表示します。 |
Router# more any-command | include regular-expression |
正規表現を含む出力行を表示します。 |
--More-- プロンプトからの検索およびフィルタリング
--More-- プロンプトから出力を検索できます。 show コマンドまたは more コマンドの出力を --More-- プロンプトから検索するには、ユーザ EXEC モードで次のコマンドを使用します。
|
|
-More- / regular-expression |
フィルタリングされていない出力を、正規表現を含む最初の行で開始します。 |
--More-- プロンプトから出力をフィルタリングできます。ただし、各コマンドに対して 1 つのフィルタだけを指定できます。フィルタは、 show コマンドまたは more コマンドの出力が終了するか、出力を中断(Ctrl+Z または Ctrl+6 を使用します)するまで継続されます。そのため、元のコマンドか前の --More-- プロンプトですでにフィルタを指定してある場合、--More-- プロンプトで別のフィルタを追加できません。
(注) 検索とフィルタリングは異なる機能です。begin キーワードを使用してコマンド出力を検索し、同時に --More-- プロンプトでフィルタを指定することはできます。
--More-- プロンプトで show コマンドまたは more コマンドの出力をフィルタリングするには、ユーザ EXEC モードで次のコマンドのいずれかを使用します。
|
|
-More- - regular-expression |
正規表現を含まない出力行を表示します。 |
-More- + regular-expression |
正規表現を含む出力行を表示します。 |