サイトアイコン IT NEWS

Linuxで時刻表示をリアルタイムにする方法

Linux時刻表示をする際に真っ先に思いつくのは[date]コマンドだと思いますが、これではリアルタイムではなく、コマンドを叩いた瞬間の時刻が表示されてしまいます。
そこで、[watch]コマンドを使って時刻表示リアルタイムにしたいと思います!

一定間隔で実行を繰り返すwatchコマンド

[watch]コマンドを初めて知った方のために、少しだけ概要を説明します。

「watch」は、引数として指定したコマンドを一定間隔ごとに繰り返し実行するコマンドです。実行結果をフルスクリーンで表示し、[CTRL]+[C]で終了します。

引用:【 watch 】コマンド――コマンドを一定間隔で繰り返し実行する:Linux基本コマンドTips(220) – @IT

つまり、[watch]の後ろに一定間隔で繰り返し実行したいコマンド(今回の場合は[date])、つまり、リアルタイムで表示したいコマンド引数にして実行するものです。

watchコマンドの基本的な使い方

上記でも書いた通り、[watch]コマンドの使い方は簡単です。

watch <オプション> [コマンド]

任意のオプションについては、以下の参考サイトをご覧ください。

リアルタイムで時刻表示

それでは、リアルタイム時刻表示をしてみましょう!
冒頭でも記述した通り、まずは[watch + date]コマンドを使ってみます。

dateコマンドで時刻表示

普通に[date]コマンドを入力すると、このように時刻が表示されます。

# date
2022年  9月  5日 月曜日 12:13:18 JST

さらに、[watch]コマンドを追加すると、こんな感じ。

# watch date
Every 2.0s: date
                                                                                                                            2022年  9月  5日 月曜日 12:22:24 JST

リアルタイム時刻表示さているのがわかります。
しかし、よく見ると[Every 2.0s: date]と表示され、デフォルトでは2秒間隔になっていたので、[-n (秒数)]を指定して1秒間隔で時刻表示します。(2秒だと何となく気持ち悪いのでw)

# watch -n 1 date
Every 1.0s: date                                                                                                                              

2022年  9月  5日 月曜日 12:22:24 JST

【おまけ】timedatectlで時刻表示

おまけで、時刻タイムゾーンを表示する[timedatectl]コマンドを使って、リアルタイム時刻表示をしてみます。

# watch -n 1 timedatectl
Every 1.0s: timedatectl                                                                                                                       webap-server: Mon Sep  5 12:25:57 2022

               Local time: 月 2022-09-05 12:25:57 JST
           Universal time: 月 2022-09-05 03:25:57 UTC
                 RTC time: 月 2022-09-05 03:25:57
                Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

以上です。

モバイルバージョンを終了