ntpq [ -i ] [ -n ] [ -p ] [ -c SubCommand] [ Host ... ]
ntpq コマンドは、指定されたホスト上で稼働する NTP サーバーを照会します。そのホストは、現行状態に関する推奨 NTP モード 6 の制御メッセージ形式をインプリメントし、しかもその状態に変更を要求することができます。対話モードでもコマンド行引数を使用しても実行できます。任意の変数の読み取りおよび書き込みを要求することができ、さらに未フォーマット出力オプションおよびフォーマットされた出力オプションを使用できます。また、ntpq コマンドは、サーバーに複数の照会を送信して、共通フォーマットでピアのリストを獲得し表示することもできます。
1 つまたは複数のフラグを持つ ntpq コマンドを入力した場合、それぞれの指定された (またはデフォルトがローカル・ホストの) ホスト上で実行する NTP サーバーが、それぞれの要求を受信します。フラグを何も入力しないと、ntpq コマンドは、最初に指定されたホストまたはデフォルトのローカル・ホストで実行する NTP サーバー上で、標準入力からコマンドを読み取って実行しようとします。標準入力が端末である場合は、サブコマンドにプロンプトを指示します。
ntpq コマンドは、NTP モード 6 パケットを使用して NTP サーバーと通信し、それを許可するネットワーク上の任意の互換性のあるサーバーを照会することができます。
ntpq コマンドは、要求の再送を一度試みますが、リモート・ホストが適切な時間内に応答しない場合は、要求はタイムアウトになります。
-i または -n 以外のフラグを指定すると、指定されたホストにすぐに照会が送信されます。そうでなければ、ntpq コマンドは、標準入力から対話式フォーマット・サブコマンドを読み取ろうとします。
ntpq -i
ntpq -c "delay 1000"
下記のサブコマンドは、ntpq 照会プログラムの実行中のみ使用できます。
対話式フォーマット・サブコマンドは、0 個から 4 個までの引数が後に付いたキーワードで構成されます。一意的にサブコマンドを識別するには、全キーワードのうち必要な文字しか入力する必要はありません。サブコマンドの出力は標準出力に表示されますが、個々のサブコマンドの出力は、> (「より大」符号) の後にファイル名を付けてコマンド行に付加し、ファイルにリダイレクトすることができます。
対話式フォーマット・サブコマンドには、完全に ntpq 照会プログラム内だけで実行するものや、NTP モード 6 の要求をサーバーに送信しないものがいくつかあります。
NTP モード 6 のメッセージで送られるデータは、下記のフォーマットのエントリー・リストで構成されます。
Variable=Value
ここでは、変数を読み取るサーバーへの要求に応じて、Value は無視されるので、省略することができます。ntpq 照会プログラムは、内部リストを保持しますが、そのリスト内では readlist および writelist 制御メッセージ・サブコマンドを使用して、制御メッセージに組み込まれるデータをアセンブルし送信することができます。
NTP サーバーが認識する各ピアには、16 ビットの整数のアソシエーション ID が割り当てられます。ピア変数を運ぶ NTP 制御メッセージは、そのアソシエーション ID を含めることにより、その値が対応するピアを識別しなければなりません。 0 のアソシエーション ID は特別なものであり、その変数がシステム変数であり、その名前が別のネーム・スペースから取り出されたものであることを示します。
ntpq 制御メッセージ・サブコマンドは、サーバーに送信された 1 つまたは複数の NTP モード 6 のメッセージになって、あるフォーマットで戻されたデータを出力します。現在インプリメントされたサブコマンドのほとんどは、単一メッセージを送信し、単一応答を待ちます。現行例外のサブコマンドには、必要なデータを獲得するためのプログラム済みの一連のメッセージを送信する peers サブコマンド、およびアソシエーションの範囲上で繰り返す mreadlist および mreadvar サブコマンドがあります。