如何使用timedatectl命令設定時間區域和同步系統時鐘


您知道如何從Linux命令列設定時間和時區嗎?如果不知道,那麼timedatectl命令可以幫助您設定時間和時區,它是systemd系統和服務管理器的一部分。本文介紹了“如何使用timedatectl命令設定時間、時區和同步系統時鐘”。

查詢和設定本地時區

要在Linux上顯示時間和當前日期,請使用以下命令:

$ timedatectl status

示例輸出應如下所示:

      Local time: Fri 2016-03-11 11:23:54 IST
  Universal time: Fri 2016-03-11 05:53:54 UTC
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

系統時間透過時區管理。要獲取系統時區,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Fri 2016-03-11 11:30:12 IST
  Universal time: Fri 2016-03-11 06:00:12 UTC
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

要獲取可用的時區,請使用以下命令:

$ timedatectl list-timezones

示例輸出應如下所示:

Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
.....................

要在Linux中設定本地時區,請使用以下命令:

$ timedatectl set-timezone “Asia/Kolkata”

要驗證上述命令的結果,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Fri 2016-03-11 11:42:22 IST
  Universal time: Fri 2016-03-11 06:12:22 UTC
        RTC time: Fri 2016-03-11 11:42:29
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

要根據UTF設定時區,請使用以下命令:

$ timedatectl set-timezone UTC

要驗證上述命令的結果,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Fri 2016-03-11 06:15:58 UTC
  Universal time: Fri 2016-03-11 06:15:58 UTC
        Timezone: UTC (UTC, +0000)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

設定時間和日期

要設定時間和日期,請使用以下命令:

$ timedatectl set-time 15:58:30

要驗證上述命令的結果,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Fri 2016-03-11 15:58:40 IST
  Universal time: Fri 2016-03-11 10:28:40 UTC
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

要從命令列設定日期,請使用以下命令:

$ timedatectl set-time 2015-11-20

要驗證上述命令的結果,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Fri 2015-11-20 00:00:06 IST
  Universal time: Thu 2015-11-19 18:30:06 UTC
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a To set both date and time, use the following command-
$ sudo timedatectl set-time "2014-11-08 06:40:00"

要驗證上述命令的結果,請使用以下命令:

$ timedatectl

示例輸出應如下所示:

      Local time: Sat 2014-11-08 06:40:11 IST
  Universal time: Sat 2014-11-08 01:10:11 UTC
        Timezone: Asia/Kolkata (IST, +0530)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a

設定Linux硬體時鐘

要顯示硬體時鐘日期和時間,請使用以下命令:

# hwclock

示例輸出應如下所示:

# hwclock
Friday 11 March 2016 12:25:56 PM IST -0.594257 seconds

要將系統時間複製到硬體時間,請使用以下命令:

# hwclock --systohc

要驗證它,請使用以下命令:

# hwclock (for hardware date and time)
# date (for system date and time)

示例輸出應如下所示:

# hwclock
Friday 11 March 2016 01:53:03 PM IST -0.359815 seconds
# date
Fri Mar 11 13:53:05 IST 2016

在上述結果中,硬體時鐘和系統時鐘的結果相同。

將Linux系統時鐘與遠端NTP伺服器同步

NTP代表網路時間協議,它是一種用於在計算機之間同步時鐘的網際網路協議。timedatectl實用程式使您可以定期使用NTP將Linux系統時鐘與遠端伺服器同步。要啟動與遠端NTP伺服器的自動時間同步,請使用以下命令:

# timedatectl set-ntp true

要停用NTP時間同步,請使用以下命令:

# timedatectl set-ntp false

恭喜!現在,您知道了“如何使用timedatectl命令設定時間、時區和同步系統時鐘”。我們將在下一篇文章中學習更多關於此類Linux命令的內容。繼續關注!

更新於:2019年10月18日

2K+ 瀏覽量

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告