# 運用・管理 / コマンドラインインターフェース（CLI）

本製品に対する設定は、管理用端末から本製品の管理機構であるコマンドラインインターフェース（CLI）にアクセスして行います。
ここでは、CLIに関する基本的なことがらについて説明します。CLIへのアクセス方法については「運用・管理」の「システム」をご覧ください。

## ログイン

本製品の管理機構であるコマンドラインインターフェース（CLI）を利用するには、ユーザー名とパスワードを入力してログインする必要があります。ログインせずに管理作業を行うことはできません。
初期設定では、次に示す権限レベル15のユーザーアカウントが登録されています。

- ユーザー名：manager
- パスワード：friend

Note

本製品では、初回ログイン時に初期設定パスワードの変更が強制されます。

Note

一定回数（初期設定では5回）連続してログインに失敗すると、失敗したユーザーはロックアウトされ、一定時間（初期設定は5分）ログインすることができなくなります（失敗したユーザー以外ではログイン可能）。これらの設定は、aaa local authentication attempts max-failコマンド、aaa local authentication attempts lockout-timeコマンドで変更できます。

Note

Telnet/SSH接続の場合、接続後1分以内にログインしないと、Telnet/SSHセッションが切断されます。切断までの時間は、SSHの場合ssh server login-timeoutコマンドで変更できます。

## コマンドモードとプロンプト

本製品のコマンドラインインターフェース（CLI）には「コマンドモード」の概念があります。各コマンドはあらかじめ決められたモードでしか実行できないため、コマンドを実行するときは適切なモードに移動し、それからコマンドを入力することになります。
コマンドモードは次のような階層構造を持ちます。

- 実行モード（総称）
  - 非特権EXECモード
  - 特権EXECモード
- 設定モード（総称）
  - グローバルコンフィグモード
  - 個別コンフィグモード（総称）
    - インターフェースモード
    - ラインモード
    - などなど

モード間の移動方法は次のようになります。

以下、各モードについて解説します。また、コマンドモードによってコマンドプロンプトの表示が異なるため、それもあわせて示します。

### 実行モード

実行モード（EXECモード）は、状態の確認や設定の保存、ファイルシステムの操作、スクリプトの実行など、その場かぎりのコマンドを実行するためのモードを総称したものです。主として「非特権EXECモード」と「特権EXECモード」の2つからなります。実行モードでは、機器の動作設定を変更するようなコマンドは実行できません。
Note

次に述べる「非特権EXECモード」を略して「EXECモード」と呼ぶ場合もありますが、本マニュアルで「EXECモード」や「実行モード」と言った場合は、原則として「非特権EXECモード」と「特権EXECモード」の総称です。

非特権EXECモードでは、原則として情報表示コマンド（show xxxx）の一部しか実行できず、ファイルの操作もできません。他のモードに移動するための起点と考えてください。
特権EXECモードでは、すべての情報表示コマンド（show xxxx）が実行できるほか、システムの再起動や設定保存、ファイル操作など、さまざまな「実行コマンド」（コマンドの効果がその場かぎりであるコマンド。ネットワーク機器としての動作を変更する「設定コマンド」と対比してこう言う）を実行することができます。
Note

特権EXECモードでは、原則として非特権EXECモードのコマンドもすべて実行可能です。

なお、各実行モードで共通に使えるコマンドとして以下のものがあります。

- exitコマンド → 非ログイン状態（CLIからログアウトします。コマンド行が空の状態でCtrl/Dキーを押しても同じです）
- logoutコマンド → 非ログイン状態（CLIからログアウトします）

以下、本製品がサポートする設定モードをまとめます。

- 非特権EXECモード

      AT-AMF-app>

  非特権EXECモードからは次のモード移動が可能です。
  - enableコマンド → 特権EXECモード
- 特権EXECモード

      AT-AMF-app#

  特権EXECモードからは次のモード移動が可能です。
  - disableコマンド → 非特権EXECモード
  - atmf provision nodeコマンド → AMF事前設定EXECモード
  - configure terminalコマンド → グローバルコンフィグモード
- AMF事前設定EXECモード

      AT-AMF-app[atmf-provision]#

Note

enable passwordコマンドで特権パスワードを設定している場合は、特権パスワードの適用対象となる権限レベルのユーザーがenableコマンドを実行するとき、パスワードの入力を求めるプロンプトが表示されます。
初期状態のように特権パスワードを設定していないときは、権限レベル（usernameコマンドのprivilegeパラメーターで指定）が1～14のユーザーはenableコマンドを実行しても特権EXECモードに移行できませんが、特権パスワードを設定しているときは権限レベルが1～14のユーザーであってもパスワードを正しく入力すれば特権EXECモードに移行できます。
なお、権限レベル15のユーザーは特権パスワードの適用対象外であるため、特権パスワードの入力を求められることはありません。

### 設定モード

設定モード（コンフィグモード）は、機器の動作設定を変更するコマンドを実行するためのモードを総称したものです。
具体的にはシステム全体にかかわる設定を行うための「グローバルコンフィグモード」と、「インターフェースモード」など特定の要素に対する設定を行うための多数の個別コンフィグモード（サブコンフィグモード）からなります。ネットワーク機器としての動作設定は原則的にすべて設定モードで行います。
なお、各設定モードで共通に使えるコマンドとして以下のものがあります。

- endコマンド → 特権EXECモード（どの設定モードからでも一足飛びで特権EXECモードに戻る。Ctrl/Zを入力しても同じです）
- exitコマンド → 一つ上のモード（コマンド行が空の状態でCtrl/Dキーを押しても同じです）

Note

次に述べる「グローバルコンフィグモード」を略して「コンフィグモード」と呼ぶ場合もありますが、本マニュアルで「コンフィグモード」や「設定モード」と言った場合は、原則として「グローバルコンフィグモード」、「インターフェースモード」などの総称です。

本製品がサポートする設定モードは以下のとおりです。

- グローバルコンフィグモード

      AT-AMF-app(config)#

  グローバルコンフィグモードからは次のモード移動が可能です。
  - line vtyコマンド → ラインモード
  - interfaceコマンド → インターフェースモード
  - aaa group server radiusコマンド → サーバーグループモード
  - crypto pki trustpointコマンド → CAトラストポイントモード
  - stoat destinationコマンド → STOAT送信先モード
  - atmf guest-classコマンド → AMFゲストコンフィグモード
  - triggerコマンド → トリガーモード
  - ping-pollコマンド → Pingポーリングモード
- ラインモード

      AT-AMF-app(config-line)#

- インターフェースモード

      AT-AMF-app(config-if)#

- サーバーグループモード

      AT-AMF-app(config-sg)#

- CAトラストポイントモード

      AT-AMF-app(ca-trustpoint)#

- STOAT送信先モード

      AT-AMF-app(config-stoat-dest)#

- AMFゲストコンフィグモード

      AT-AMF-app(config-atmf-guest)#

- トリガーモード

      AT-AMF-app(config-trigger)#

- Pingポーリングモード

      AT-AMF-app(config-ping-poll)#

なお、プロンプトの先頭部分はホスト名を表示するための領域です。初期状態ではホスト名として「AT-AMF-app」が設定されており、これが表示されるようになっていますが、hostnameコマンドでホスト名を設定すると、「AT-AMF-app」の代わりに設定したホスト名が表示されるようになります。
Note

本製品においても hostnameコマンドの初期値は他のAlliedWare Plus搭載製品と同じ「awplus」ですが、本製品はスタートアップコンフィグなしの状態で起動した場合、hostnameコマンドが自動的に投入され、ホスト名が「AT-AMF-app」に設定されるため、見かけ上の初期ホスト名は「AT-AMF-app」となっています。

本製品を複数管理している場合など、各装置に異なる名前を設定しておくと、現在どの装置にログインしているのかがわかりやすくなり便利です。

    AT-AMF-app(config)# hostname myvaa
    myvaa(config)#

#### 設定モードで実行モードコマンドを実行

各種設定モードで作業をしている最中に、show xxxxなどの実行モードコマンドを使って機能の状態を確認したいことはよくあります。
通常このような場合には、endコマンドやCtrl/Zキーを使って特権EXECモードに戻り、実行モードコマンドを実行してから、元の設定モードに戻る必要がありますが、doコマンドを使用すれば設定モードのまま各種実行コマンドを実行させることができます。

    AT-AMF-app(config)# do show snmp-server community
    SNMP community information:
      Community Name ........... public
        Access ................. Read-only
        View ................... none

    AT-AMF-app(config)#

ここではグローバルコンフィグモードでdoコマンドを使用していますが、同コマンドはラインモード、インターフェースモードなど、任意の設定モードで使用できます。
なお、doコマンドを使う場合、後述するコマンド入力補助機能は使えません。適宜キーワードの省略形を使うなどしてください。

## コマンドライン編集キー

コマンドラインでは、以下の編集機能を使うことができます（VT100互換の端末エミュレーターが必要です）。

表 1
凡例
Ctrl/△ | 「Ctrl」キーを押しながら△キーを押す。たとえば「Ctrl/E」は、「Ctrl」キーを押しながら「E」キーを押すことを意味する
Esc,△ | 「Esc」キーを押して離し、次に△キーを押して離す。たとえば「Esc,B」は、「Esc」キーを押して離し、次に「B」キーを押すことを意味する
カーソル移動
Ctrl/Fまたは→ | 1文字右に移動する
Alt/FまたはEsc,F | 1単語右に移動する（カーソル位置にある単語の最後の文字の次に移動する）
Ctrl/Bまたは← | 1文字左に移動する
Alt/BまたはEsc,B | 1単語左に移動する（カーソル位置にある単語の先頭文字に移動する）
Ctrl/A | 行頭に移動する
Ctrl/E | 行末に移動する
削除
Ctrl/HまたはBackspace | カーソルの左にある文字を削除する
Ctrl/D | カーソル位置の文字を削除する。ただしコマンド行が空の状態でCtrl/Dを押した場合は、exitコマンドと同じ動作となる
Alt/DまたはEsc,D | カーソル位置以降、最初の空白の直前までを削除する
Ctrl/K | カーソル位置から行末までを削除する
Ctrl/U | コマンド行を消去する
その他
Ctrl/T | カーソル位置の文字とその直前の文字を入れ換える（カーソルが行末にあるときは、直前の文字とその前の文字を入れ換える）
Ctrl/Pまたは↑ | コマンド履歴をさかのぼる
Ctrl/Nまたは↓ | コマンド履歴を進める
Ctrl/C | 非特権EXECモードと特権EXECモードでは、入力中のコマンド行を破棄して新しい行に移る。各種コンフィグモードでは、入力中のコマンド行を破棄して特権EXECモードに戻る。または、実行中のコマンドを中断する（注意事項あり）
Ctrl/Z | 各種コンフィグモードから特権EXECモードに戻る。endコマンドと同じ動作
TabまたはCtrl/I | 入力途中のキーワードを補完、または、次に入力可能なキーワードの候補一覧を表示する

### Ctrl/C入力時の注意事項

実行したコマンドが情報を出力している最中にCtrl/Cを入力すると関連プロセスの異常終了が発生する可能性があります。
出力する情報の量が多いコマンドを実行する場合は以下のいずれかの対応を行ってください。
(1) 端末1ページ当たりの表示行数を制限する
1ページ当たりの表示行数を制限することで、Ctrl/Cを入力する必要性を極力なくすことができます。
表示行数の設定は下記のコマンドで行います。詳細は「運用・管理」/「端末設定」をご覧ください。

- terminal length（非特権EXECモード）
- length（ラインモード）

(2) 出力をファイルに保存する
コマンドの出力先を端末画面ではなくファイルにリダイレクト（変更）することで、出力される情報をファイルに保存し、Ctrl/Cを入力する必要性をなくすことができます。
これにはリダイレクション記号「>」、またはモディファイア記号「|」とredirectフィルターを使用します。
運用時に大量の情報を出力する必要がある場合は、出力される情報をいったんファイルに保存してからその内容を確認してください。
コマンド例は下記のとおりです。
詳細は「モディファイアとリダイレクション」をご覧ください。
リダイレクション記号「>」を使う例

    awplus# show mac address-table > flash:/show_mac_address-table.txt

モディファイア記号「|」とredirectフィルターを使う例

    awplus# show mac address-table | redirect flash:/show_mac_address-table.txt

## コマンド入力時の注意事項

コマンド入力時には以下のことがらに注意してください。
すでに述べたとおり、コマンドモードによって実行できるコマンドが異なります。現行モードでどのコマンドを実行できるかは、後述する「コマンド入力補助機能」やコマンドリファレンスで確認してください。
「show」、「enable」などのキーワード（予約語）は大文字小文字を区別しないので、どちらで入力してもかまいません。一方、パラメーターとして与える値は、原則として大文字小文字を区別します。詳細はコマンドリファレンス等でご確認の上入力してください。
キーワードは一意に識別できる範囲で省略可能です。たとえば、特権EXECモードにおいて、show running-configコマンドは次のように省略して入力することができます。

    AT-AMF-app# sho run

また、configure terminalコマンドは次のようにして入力することができます。

    AT-AMF-app# con t

Note

キーワードをどこまで省略できるかは、ファームウェアのバージョンや使用機種によって異なる可能性があります。また、コマンドモードによっても異なる場合がありますのでご注意ください。

コマンド行に必要な文字列を入力したら最後に「Enter」キーを押してください。これにより、コマンドが実行されます。なお、「Enter」キーを押すとき、必ずしもカーソルが行末になくてもかまいません。
コマンドの効果は、エラーがなければ通常入力直後にあらわれます。再起動などを行う必要はありません。ただし、設定内容は再起動すると消えてしまうので、再起動後にも同じ設定を使いたいときはcopyコマンドやwrite fileコマンド、write memoryコマンドでファイルに保存してください。詳細は「運用・管理」の「コンフィグレーション」をご覧ください。なお、一部のコマンドでは実行後に再起動が必要です。詳細はコマンドリファレンスで確認してください。
現在の設定内容（ランニングコンフィグ）は、show running-configコマンドで確認できます。設定作業時には、こまめにshow running-configコマンドを実行し、設定内容が意図したとおり反映されているか確認しながら進めることをおすすめします。

## コマンドの否定形（no形式）

設定モードで実行するコマンドには「否定形」を持つものが多くあります。否定形は、コマンドの先頭に「no」というキーワードを付加した形式で、通常該当コマンドの効果を取り消すために使います。
たとえば、DNSサーバーリストにサーバーを追加するip name-serverコマンドには、「肯定形」として、

`(config)# ip name-server SERVER ...`

があり、「否定形」としては、

`(config)# no ip name-server SERVER ...`

があります。
同コマンドにおいて、否定形の構文は登録済みのサーバーをリストから削除するときに使います。
本マニュアルにおいては、肯定形を「通常形式」、否定形を「no形式」と呼びます。コマンドリファレンス編では、通常形式とno形式の両方を持つコマンドの場合、両方の構文を併記し、コマンドの説明部分では最初に通常形式の説明を行い、次にno形式の動作を説明します。
no形式には、おもに次のパターンがあります。

- 通常形式で作成・定義・設定・関連付けしたものを削除する。
  たとえば、次に示すip addressコマンドの例では、最初に通常形式を使ってインターフェースにIPアドレス192.168.10.1/24を設定し、次にno形式でIPアドレスを削除しています。

      AT-AMF-app(config-if)# ip address 192.168.10.1/24
      AT-AMF-app(config-if)# no ip address

- 通常形式で設定した値を初期値に戻す。
  たとえば、次に示すaaa login fail-delayコマンドの例では、最初に通常形式を使ってログイン失敗時の遅延時間を初期値の「1」から「4」に変更し、次にno形式で初期値の「1」に戻しています。

      AT-AMF-app(config)# aaa login fail-delay 4
      AT-AMF-app(config)# no aaa login fail-delay

  逆のケースとしては、ip domain-lookupコマンドがあります。次の例では、最初にno形式を使ってDNSへの問い合わせ機能を無効化し、次に通常形式を使ってDNS問い合わせ機能を有効化しています。DNS問い合わせ機能の初期状態は有効（ip domain-lookup）なので、このようになります。

      AT-AMF-app(config)# no ip domain-lookup
      AT-AMF-app(config)# ip domain-lookup

## メッセージ

コマンド入力後、実行結果や構文エラーを知らせるメッセージが表示されることがあります。次にいくつか例を示します。

- Incomplete command（コマンド行が未完成）

      AT-AMF-app(config)# interface
      % Incomplete command.

  これは、キーワードやパラメーターが足りない場合に表示されるメッセージです。ここでは、interfaceコマンドの必須パラメーターである「インターフェース名」が指定されていないため、エラーになっています。
- Invalid input detected at '^' marker（キーワードを認識できない）

      AT-AMF-app(config)# intraface
                         ^
      % Invalid input detected at '^' marker.

  これは、存在しないキーワードを入力した場合に表示されるメッセージです。ここでは、「interface」とすべきところを「intraface」とミスタイプしたため、エラーになっています。
  また、ミスタイプはしていなくても、実行すべきモードを間違えた場合も本メッセージが表示される場合があります。たとえば、次の例では、グローバルコンフィグモードで実行すべきinterfaceコマンドを特権EXECモードで入力してしまったため、「特権EXECモードにinterfaceで始まるコマンドはない」という意味で、エラーになっています。

      AT-AMF-app# interface eth0
              ^
      % Invalid input detected at '^' marker.

- Can't find interface xxx（指定されたインターフェースが存在しない）

      AT-AMF-app(config)# interface ppp0
      % Can't find interface ppp0

  これは、前の2つよりも具体的なエラーメッセージです。ここでは、interfaceコマンドを正しいモード、正しい構文で入力しましたが、存在しないインターフェース名「ppp0」を指定してしまったため、エラーになりました。
  本メッセージのように、パラメーター値が不正だった場合のメッセージにはさまざまなものがあります。適宜解釈して対応してください。

なお、コマンドの実行に成功した場合は、通常何も表示されません。エラーメッセージが表示されなかった場合は、コマンドの実行に成功したと考えてください。
Note

「コマンドの実行に成功」=「正しい設定」とはかぎりませんのでご注意ください。

## コマンド入力補助機能

コマンドラインインターフェース（CLI）には、コマンドの入力を補助する機能がいくつか備わっています。コマンド入力補助機能には次の種類があります。

- 入力候補（と簡単な解説）の表示
- キーワードの補完

これらの補助機能を利用するには、コマンドの入力途中で「?」か「TAB」キーを入力します。次にコマンド入力補助機能の使い方をまとめます。

表 2：コマンド入力補助機能の使い方
書式 | 使用方法 | 機能
入力候補の表示（次のキーワード）
? または <TAB> | コマンドラインの先頭で「?」か「TAB」キーを入力 | コマンドラインの先頭で入力可能なキーワードの一覧を表示する
keywords ? または keywords <TAB> | 1つ以上のキーワード（keywords）を入力した後、スペースを入れ、その後で「?」か「TAB」キーを入力 | カーソル位置に入力可能なキーワードの一覧を表示する
入力候補の表示（入力途中のキーワード）
partial-keyword? | 何らかの文字列（partial-keyword）を入力した後、スペースを入れずに「?」を入力 | カーソル位置に入力可能なキーワードのうち、partial-keywordで始まるものの一覧を表示する
キーワードの補完
partial-keyword<TAB> | 何らかの文字列（partial-keyword）を入力した後、スペースを入れずに「TAB」キーを入力 | カーソル位置に入力可能なキーワードのうち、partial-keywordで始まるものが1つだけであれば、partial-keywordを補完して完全なキーワードにする。partial-keywordで始まるキーワードが複数存在する場合は、候補の一覧を表示する
パラメーター値の説明
keyword=? または keyword=<TAB> | 何らかの文字列（keyword）を入力した後、等号（=）を入れ、その後で「?」か「TAB」キーを入力 | keywordをパラメーター名と見なし、同パラメーターに指定可能な値の説明を表示する

以下、それぞれの機能について、実例を挙げながら解説します。

### 入力候補の表示

入力候補の表示機能は、現在のカーソル位置に入力可能なキーワード（コマンド名やパラメーター名、オプション名）の一覧を表示する機能です。コマンドの入力途中で「?」や「TAB」キーを入力することによって使用します。
Note

「?」や「TAB」キーで表示されるキーワードの中には、サポート対象外のものも含まれます。原則として、本コマンドリファレンスに記載されていないコマンドやキーワード、機能はサポート対象外となります。詳細はリリースノートなどでご確認ください。

入力候補のキーワードは1行に1つずつ表示されます。また、コマンドラインの先頭キーワード（ADD、ENABLEなど）やモジュール名キーワード（SYSTEM、IPなど）の場合は、簡単な説明（英文）も表示されます。

#### 次のキーワード候補を表示

コマンドラインの先頭で「?」キーを押す、あるいは、いくつかのキーワードを入力した後にスペースを入れ、その後「?」か「TAB」キーを押すと、次に入力可能なキーワードの一覧が表示されます。
たとえば、グローバルコンフィグモードのコマンドラインの先頭で「?」キーを押すと次のように表示されます。

    AT-AMF-app(config)# ?
    Configure commands:
      aaa                           Authentication, Authorization and Accounting
      arp                           Address Resolution Protocol (ARP)
                                    commands
      banner                        Change banner settings
      boot                          Boot configuration

    　・・・

      show                          Show running system information
      snmp-server                   Manage snmp server
      ssh                           Secure Shell
      system                        System properties
      tacacs-server                 TACACS+ server configuration commands
    　telnet                        Configure telnet
    　trigger                       Automatic scripted responses to device events
      undebug                       Disable debugging functions (see also 'debug')
      username                      Establish User Name Authentication
    AT-AMF-app(config)#

画面の左側に列挙されているのが、コマンドラインの先頭キーワードとして有効な単語の一覧です。
画面の右側は、キーワードの簡単な説明（英文）です。
Note

表示項目は対象製品やファームウェアのバージョンによって異なる可能性があります。また、現在どのコマンドモードにいるかによっても異なります。さらに、同じコマンドモードであっても、設定対象が何であるかによって表示項目すなわち使用できるコマンドが異なる場合があります。たとえば、同じインターフェースモードでも、eth1を対象とした場合とbridge1を対象にした場合では使用できるコマンドが異なります。

Note

「?」や「TAB」キーで表示されるキーワードの中には、サポート対象外のものも含まれます。原則として、本コマンドリファレンスに記載されていないコマンドやキーワード、機能はサポート対象外となります。詳細はリリースノートなどでご確認ください。

次に、コマンドラインでさきほどの候補一覧から「show」を入力し、さらに半角スペースを一文字入力した上で再度「?」キーを押すと、次のように表示されます。

    AT-AMF-app(config)# show ?
      banner          Display banner message
      crypto          Security Specific Commands
      log             Display logging information
      running-config  Current operating configuration
      ssh             Secure Shell

    AT-AMF-app(config)# show

さらに「log」を入力し、半角スペースを一文字入力した上で再度「?」か「TAB」キーを押すと、次のように表示されます。

    AT-AMF-app(config)# show log ?
      config     Display the current logging configuration
      permanent  Display to contents of the permanent log
      tail       Display only the latest log entries
      |          Output modifiers
      >          Output redirection
      <cr>

    AT-AMF-app(config)# show log

なお、<cr>は、これ以上キーワードを入力せずに「Enter」キーを押してコマンドラインを完成させることもできる、という意味です。この例では、「show log」だけでも、コマンドラインとして完結していることを示しています。
また、コマンドラインで使用できる特殊記号の「|」と「>」については、「モディファイアとリダイレクション」の節で後述します。

#### 入力途中のキーワード候補を表示

コマンドラインに何らかの文字列を入力した後、スペースを入れずに「?」を入力すると、カーソル位置に入力可能なキーワードのうち、入力した文字列で始まるものの一覧が表示されます。
たとえば、グローバルコンフィグモードでコマンドラインに「auth」と入力した後、スペースを入れずに「?」を入力すると、次のように表示されます。

    AT-AMF-app(config)# auth?
      auth-mac         MAC-Based Authentication
      auth-web-server  Web authentication server configuration commands

    AT-AMF-app(config)# auth

また、「ip d」と入力した後で「?」を入力すると、次のように表示されます。

    AT-AMF-app(config)# ip d?
      dhcp           DHCP Server or Snooping Configuration
      domain-list    Add a domain to the DNS
      domain-lookup  Enable Domain Name Service (DNS)
      domain-name    Set default domain for DNS

    AT-AMF-app(config)# ip d

指定した文字列で始まるキーワード候補がないときは、次のようなメッセージ（Unrecognized command）が表示されます。この例は、「ip」の後に「b」で始まるキーワードは指定できないことを示しています。

    AT-AMF-app(config)# ip b?
    % Unrecognized command
    AT-AMF-app(config)# ip b

### キーワードの補完

一つ前で説明した「入力途中のキーワード候補を表示」とよく似ていますが、コマンドラインに何らかの文字列を入力した後、スペースを入れずに「TAB」キーを入力すると、カーソル位置に入力可能なキーワードのうち、指定した文字列で始まるものが1つだけの場合、入力途中のキーワードを補完して完全なキーワードにしてくれます。指定した文字列で始まるキーワードが複数存在する場合は、「?」キーと同じく候補の一覧が表示されます。
たとえば、eth0を対象とするインターフェースモードでコマンドラインに「des」と入力した後、スペースを入れずに「TAB」キーを入力すると、次のように表示されます（実際にはタブ文字は表示されません）。

    AT-AMF-app(config)# interface eth0
    AT-AMF-app(config-if)# des<TAB> （実際には表示されません）

↓ 次のように補完される

    AT-AMF-app(config-if)# description

また、eth0を対象とするインターフェースモードで「ip」と入力した後で「TAB」キーを入力すると、「ip」で始まる候補は2つあるため、次のように表示されます。

    AT-AMF-app(config)# interface eth0
    AT-AMF-app(config-if)# ip<TAB> （実際には表示されません）
    ip ipv6
    AT-AMF-app(config-if)# ip

ここで、「ipv」を入力してから「TAB」キーを押すと、候補が1つになるため、次のように補完されます。

    AT-AMF-app(config-if)# ipv<TAB> （実際には表示されません）

↓ 次のように補完される

    AT-AMF-app(config-if)# ipv6

指定した文字列で始まるキーワード候補がないときは、何も表示されず、コマンドラインも変更されません。この例は、「ip」の後に「g」で始まるキーワードは指定できないことを示しています。

    AT-AMF-app(config-if)# ip g<TAB> （実際には表示されません）
    AT-AMF-app(config-if)# ip g

## モディファイアとリダイレクション

通常、コマンドを実行すると、コマンドラインインターフェース（CLI）から何らかの文字列が返ってきます。特に情報を確認するためのコマンド（いわゆるshowコマンド）では、大量の情報が出力される場合があります。
このような場合に便利なのが、コマンドラインで使用できる2つの特殊記号、「|」（モディファイア）と「>」（リダイレクション）です。
モディファイアは、コマンドが出力した情報をいったん「フィルター」に通して、内容を加工した上で端末画面に表示させる機能を持ちます。フィルターには次の4種類があります。
Note

モディファイアを複数連結して使うことはできません。

Note

dirコマンドに対しては、モディファイア（|）とリダイレクション（>）を使用できません。

- include（指定した文字列を含む行だけを端末画面に出力します）
  show ip routeコマンドの出力から、「eth0」という文字列を含む行だけを表示させる。

      AT-AMF-app# show ip route | include eth0
      C       192.168.10.0/24 is directly connected, eth0

  実際には、ただの文字列（リテラル文字列）だけでなく、正規表現（文字列のパターン）を指定することもできます。正規表現を利用すると、より柔軟な処理が可能です。
  たとえば、show logコマンドの出力から、「Port up」か「Port down」のいずれかを含む行だけを表示させるには次のようにします。

      AT-AMF-app# show log | include Port (down|up)

      2016 Apr 15 16:50:50 user.notice awplus NSM[691]: Port up notification received
      for eth1
      2016 Apr 15 16:50:50 user.notice awplus NSM[691]: Port up notification received
      for eth1
      2016 Apr 15 17:10:19 user.notice awplus NSM[691]: Port down notification receive
      d for eth1

  Note

  これはあくまでも一例です。正規表現では、同じ文字列をさまざまな形で表現できます。詳しくは各種文献をご覧ください。

  Note

  正規表現はexcludeフィルター、beginフィルターでも使用できます。

- exclude（指定した文字列を含まない行だけを端末画面に出力します）
  show ip interfaceコマンドの出力から、「unassigned」という文字列を含む行を取り除く（「unassigned」を含まない行だけを表示させる）

      AT-AMF-app# show ip interface | exclude unassigned
      Interface             IP-Address      Status          Protocol
      eth0                  192.168.10.1    admin up        running
      eth1                  192.168.10.1    admin up        running
      eth2                  192.168.20.1    admin up        running

- begin（指定した文字列が初めて登場した行以降だけを端末画面に出力します）

      AT-AMF-app# show running-config | begin interface eth1

      ...skipping
      interface eth1
       ip address 192.168.10.1/24
      !
      ...

- redirect（コマンドの出力を端末画面には出力せず、指定したファイルに書き出します。次の「リダイレクション」と同じ機能です）
  show systemコマンドの出力を、flash:/tmp/show_system.txtというファイルに書き出す。

      AT-AMF-app# show system | redirect flash:/tmp/show_system.txt
      AT-AMF-app# dir recursive flash:/
      flash:/
              0 drwx Feb 26 2011 01:40:40  tmp/
            312 -rw- Feb 26 2011 01:02:19  default.cfg
      ...
      flash:/tmp
           1060 -rw- Feb 26 2011 01:40:40  show_system.txt

  Note

  redirectフィルターは非特権EXECモードでは使用できません（非特権EXECモードではファイルへの書き込み権限がないため）。

リダイレクションは、コマンドの出力を端末画面には出力せず、指定したファイルに書き出す機能を持ちます。前述した「モディファイア」のredirectフィルターと同じ機能です。
Note

リダイレクションは非特権EXECモードでは使用できません（非特権EXECモードではファイルへの書き込み権限がないため）。

たとえば、リダイレクション（>）を使用して、show logコマンドの出力をflash:/tmp/show_log.txtというファイルに書き出すには、次のようにします。

    AT-AMF-app# show log > flash:/tmp/show_log.txt
    AT-AMF-app# dir recursive flash:/
    flash:/
            0 drwx Feb 26 2011 01:41:30  tmp/
          312 -rw- Feb 26 2011 01:02:19  default.cfg
    ...
    flash:/tmp
         1599 -rw- Feb 26 2011 01:41:30  show_log.txt
         1060 -rw- Feb 26 2011 01:40:40  show_system.txt

## 端末画面のページ当たり行数

初期設定では、端末画面の1ページ当たり行数は24に設定されています。コマンドの出力結果が24行よりも長い場合は、ページャー機能によって23行ごとに表示が一時停止し、最下行に次のようなメッセージが表示され、キー入力待ち状態になります。

    --More--

ここでは次のキー操作が可能です。

表 3
Space | 次の1ページを表示します。
Enter | 次の1行を表示します。
q | 表示を中止し、プロンプトに戻ります。

現在の端末セッションにおけるページ当たり行数はEXECモード（非特権および特権）のterminal lengthコマンドで変更できます。

    AT-AMF-app> terminal length 60

現在の端末セッションにおいて、ページ単位の一時停止を無効にするには、terminal lengthコマンドに0を指定します。

    AT-AMF-app> terminal length 0

前記のterminal lengthコマンドは実行コマンドなので、現在の端末セッションにしか影響を与えず、設定を保存しておくこともできません。ページ当たり行数の設定を永続的に変更したい場合は、ラインモードのlengthコマンドを使います。たとえば、仮想端末ポート0～32からのログイン時、ページ当たり行数がつねに60行になるようにするには、次のようにします。

    AT-AMF-app(config)# line vty 0 32
    AT-AMF-app(config-line)# length 60

端末に関する設定の詳細については、「運用・管理」の「端末設定」をご覧ください。