watchコマンドで覚えておきたい使い方6個

watchコマンドといえば、そこまで使用頻度が高いわけではないけれど、覚えてるとちょっとした時に便利なコマンド。
今回は、そんなwatchコマンドで覚えておくと役に立つ使い方について紹介する。

1.基本的な使い方

基本的には、以下のようにコマンドを実行することで、数秒ごと(デフォルトは2秒)にそのコマンドの実行結果をコンソール上に出力することができる。

watch 連続実行させるコマンド

例えば、以下のように実行することで数秒ごとに「ls -la /home」を実行する。
当然、その配下のファイルが作成されれば確認することができる。

watch ls -la /home/

特定のプロセスが上がってくるかどうか確認するなら、「ps -ef | grep プロセス名」で監視することも出来る。
例えば、httpdの状態を監視するなら以下のようにコマンドを実行する。

watch "ps -ef | grep httpd"

2.コマンドを実行する間隔を指定する

デフォルトで2秒となっているコマンドの実行間隔だが、「-n」オプションを使用することで指定することが出来る。

watch -n 実行間隔(秒) 実行コマンド

3.出力結果の変化した箇所をハイライトする

「-d」オプションを利用することで、出力結果が変化した箇所をハイライトすることが出来る。

watch -d 実行コマンド

4.ヘッダーを非表示にする

「-t」オプションを付与すると、実行結果のヘッダーを非表示にすることが出来る。

watch -t 実行コマンド

5.出力結果にカラー情報を付与する

CentOS 7やUbuntu 14.04など、最近のディストリビューションにインストールされているwatchコマンドの場合、「-c」オプションで実行コマンドをカラー出力させることが出来る。

watch -c 実行コマンド

6.実行コマンドがエラーになった場合・変化があった場合、watchコマンドを終了する

watchで実行しているコマンドがエラーになったり、出力状態に変化が合った場合、watchコマンドでの監視を終了させる事が出来る。
「-e」オプションでエラー発生した場合、「-g」で変化が合った場合を指定できる。

実行コマンドでエラーが発生した場合、watchの実行を停止する

watch -e 実行コマンド

なお、「-e」の場合はコマンドの実行は停止するが何かキーを押下するまで画面はそのままとなる。

実行コマンドで変化が発生した場合、watchの実行を停止する

watch -g 実行コマンド

「-e」、「-g」オプションともに、最近のディストリビューションでないと使えないので注意。