【Linux】コマンドを繰り返してくれる「watch」
Linux上でコマンドを繰り返して欲しい時に使用する watch
コマンド。
たとえば date
コマンドを実行してリアルタイムにLinux上の時刻を表示ができます。
watch の使い方
使い方は簡単で watch
の後に繰り返したいコマンドを指定するだけです。
watch [コマンド]
1秒ごとに date
コマンドを実行する場合はいかのようになります。-n
の間隔指定がない場合は2秒間隔で実行します。
watch -n 1 date
オプション
-t
watch
コマンドの実行間隔などのヘッダー情報を表示しない-e
エラー時(実行したコマンドがエラーコード0以外で終了したとき)はwatch
コマンドも終了する-b
エラー時にビープ音をならす-d
直前の実行結果と変化した箇所をハイライトにする-d=permanent
のオプションで実行すると初回から変化した箇所をハイライトにする
-c
色表示に対応してくれる-g
実行結果が変化したらwatch
コマンドを終了する-n 秒数
実行間隔を秒数で指定する(設定できる最小値と最小間隔は0.1秒)-p
厳密な秒数でコマンドを実行-x
指定したコマンドをexec
コマンドで実行する(指定がない場合はsh -c
で実行)
応用
コマンド中にワイルドカードやパイプを使用する場合
コマンド中にワイルドカードやパイプを使用する場合はダブルクォーテーションでコマンドを囲う必要があります。
watch -n1 "ls -al *.txt"
エスケープする
ダブルクォーテーションでコマンドを囲った際にコマンド内でダブルクォーテーションを使用したい際はエスケープをする必要があります。
watch -n1 "ls -al \"hoge.txt\""
コマンドに色をつける
ls
コマンド を色つけする際に -c
のオプションが必要になります。
watch -n1 -c ls -al --color