GNU/Linux >> Linux の 問題 >  >> Linux

視聴:N 秒ごとに Unix コマンドまたはシェル スクリプトを繰り返す

質問: コマンド(またはシェルスクリプト)を頻繁に(数秒ごとに)繰り返したい場合があります。 (同じコマンドを手動で入力し続ける代わりに) n 秒ごとに unix コマンドを実行するより良い方法はありますか?

答え: watch コマンドを使用すると、コマンドを実行し、その出力を数秒ごとに表示できます。これは、メモリ使用量、ディスク使用量などを監視する際に非常に役立ちます。

watch コマンドを使用して任意の Unix コマンドを実行できます。 Watch コマンドは、CTRL+C で終了するか、プロセスを強制終了するまで実行されます。

例 1:watch ls を使用してファイルの作成を監視する

バックグラウンド プロセスによってファイルが作成されることが予想される場合、またはログ ファイルのサイズが大きくなり続けることが予想される場合、ls コマンドを複数回実行することになる可能性があります。代わりに、以下に示すように、2 秒ごとに ls コマンドを実行する watch コマンドを使用できます。

$ watch ls
Every 2.0s: ls                                             Thu Apr 15 16:11:58 2010
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

watch コマンド出力の最初の行には、次のヘッダー情報が含まれています:

  • 2.0 秒ごと :時間間隔。つまり、ls は 2 秒ごとに実行されます。
  • ls :2 秒ごとに実行される Unix コマンド。
  • Thu Apr 15 16:11:58 2010 :現在の日時。

残りの行は、watch が実行しているコマンドの出力です。この例では、ls コマンドの出力を表示しています。

例 2:使用済みメモリと空きメモリの詳細を表示する (違いを強調表示)

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

$ watch -d free -om
Every 2.0s: free -om                               Thu Apr 15 16:11:59 2010

             total	 used       free     shared    buffers     cached
Mem:           992        878        114          0        135        379
Swap:         4095          8       4087

システムでメモリ出力が変化しない場合は、date コマンドで -d オプションを試して、その動作を確認してください。

$ watch -d date

注意 :トップ コマンド出力の変更を強調表示できることをご存知ですか?

例 3:使用可能なディスク容量を表示する (10 秒ごとに繰り返す)

デフォルトでは、watch コマンドは 2 秒間隔を使用しますが、-n オプションを使用して変更できます。次の例では、df -h コマンドを 10 秒ごとに実行します。

$ watch -n 10 df -h
Every 10.0s: df -h                                Thu Apr 15 16:12:26 2010

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7              30G  8.6G   20G  31% /
tmpfs                 497M  964K  496M   1% /dev/shm
/dev/sda6             194M   22M  163M  12% /boot

例 4:出力でウォッチ ヘッダーを非表示にする

以下に示すように、オプション -t を使用して、watch コマンド出力の 1 行目を非表示にすることができます。

$ watch -t ls
flash-plugin-10.0.45.2-release.i386.rpm
install_flash_player_10_linux.deb

Linux
  1. Linuxのwatchコマンドでコマンドとタスクを監視する

  2. すべてのユーザーに必要な20のLinuxコマンド

  3. すべてのLinuxユーザーが知っておくべき10個のコマンド

  1. X秒ごとにLinuxコマンドを実行または繰り返す方法

  2. AからZのLinuxコマンド

  3. UNIX / Linux :最後のコマンドを繰り返す bash history コマンドの例

  1. X秒ごとにUnixコマンドを永遠に繰り返しますか?

  2. Unixでシェルコマンドを編集するためにViキーを使用しますか?

  3. unixコマンドウォッチで色付け?