JavaScriptを有効にしてください

【Linux】一定間隔でコマンドを繰り返し実行する「watch」

 ·   ·  ☕ 2 分で読めます

【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

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer