1. 概要

Linuxコマンドラインで作業するとき、コマンドを定期的に実行して、各実行の出力を確認したい場合があります。 watchコマンドはそれを助けることができます。

このチュートリアルでは、いくつかの例を通じてこのコマンドを一緒に学習します。

2. watchコマンドの概要

watch コマンドは、procps-ngパッケージのユーティリティです。 このパッケージは、デフォルトですべてのLinuxディストリビューションで利用できます。

watch コマンドを使用して、定期的にコマンドを実行できます。 フルスクリーンモードでコンソールまたは端末に出力を表示します。

このようにして、コマンド出力の経時変化を観察できます。

watchコマンドの基本的な使用構文は非常に簡単です。

watch [options] COMMAND

指定されたコマンドを実行するデフォルトの間隔は2秒です。たとえば、dateコマンドの出力を2秒ごとに監視できます。

$ watch date

出力が表示されます:

watch コマンドを終了するには、Ctrl-C。を押します。

3.  更新間隔をカスタマイズする

-n (seconds)オプションを watch コマンドに渡すと、更新間隔を指定できます。

date コマンドの出力を、デフォルトの2秒ではなく、3秒ごとに監視してみましょう。

$ watch -n 3 date

出力は次のようになります。

画面の最初に、間隔と監視するコマンドが一覧表示されます: Every 3.0s:dateヘッダーに。

4. 出力のヘッダーをオフにします

watch コマンドの出力に、間隔、コマンド、ホスト名、および現在のシステム時刻を示すヘッダーが表示されています。

-tオプションを使用して、出力のヘッダーを非表示にすることができます

$ watch -t date

これで、ヘッダーなしの出力が得られました。

5. アップデート間の違いを強調する

監視するコマンドの出力は、前の例ほど単純ではない可能性があります。 この場合、更新間の変更を確認するのはそれほど簡単ではありません。

-d オプションは、連続する更新間の違いを強調表示します。 

たとえば、2秒ごとにメモリ使用量を監視し、変更点を強調表示してみましょう。

$ watch -d free

出力は次のようになります。

6. watchパイプを使用したコマンド

watchユーティリティを使用してパイプチェーンコマンドを実行したい場合があります。 コマンド全体を引用符で囲む必要があります。

$ watch "COMMAND1 | COMMAND2 |..."

次に、 grep:を指定して ps コマンドを実行し、vimプロセス情報を監視しましょう。

$ watch "ps -ef | grep [v]im"

7. 結論

この記事では、例を通してwatchコマンドの使用法について説明しました。

シンプルなプログラムですが、ちゃんと使えばとても便利です。