如何在Linux中設置或更改時區

時區是具有相同標準時間的地理區域。 通常,時區是在操作系統的安裝過程中設置的,但以後可以輕鬆更改。

對於許多與系統相關的任務和過程,使用正確的時區至關重要。 例如,cron守護程序使用系統的時區執行cron作業。 時區也用於日誌時間戳。

本教程介紹了在Linux中設置或更改時區的必要步驟。

檢查當前時區

timedatectl 是一個命令行實用程序,可讓您查看和更改系統的時間和日期。 它在所有基於systemd的現代Linux系統上都可用。

要查看當前時區,請調用 timedatectl 沒有任何選項或參數的命令:

timedatectl
                      Local time: Tue 2019-12-03 16:30:44 UTC
                  Universal time: Tue 2019-12-03 16:30:44 UTC
                        RTC time: Tue 2019-12-03 16:30:44
                       Time zone: Etc/UTC (UTC, +0000)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

上面的輸出顯示系統的時區設置為UTC。

系統時區是通過符號鏈接來配置的 /etc/localtime 文件到二進制時區的標識符中 /usr/share/zoneinfo 目錄。

檢查時區的另一種方法是使用符號鏈接查看符號鏈接指向的路徑。 ls 命令:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec  3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC

在Linux中更改時區

在更改時區之前,您需要找出要使用的時區的長名稱。 時區命名約定通常使用“地區/城市”格式。

要查看所有可用時區,請使用 timedatectl 命令或列出文件 /usr/share/zoneinfo 目錄:

timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...

確定哪個時區適合您的位置後,以root或sudo用戶身份運行以下命令:

sudo timedatectl set-timezone <your_time_zone>

例如,將系統的時區更改為 America/New_York 您將輸入:

sudo timedatectl set-timezone America/New_York

要驗證更改,請調用 timedatectl 再次命令:

timedatectl
                      Local time: Tue 2019-12-03 13:55:09 EST
                  Universal time: Tue 2019-12-03 18:55:09 UTC
                        RTC time: Tue 2019-12-03 18:02:16
                       Time zone: America/New_York (EST, -0500)
       System clock synchronized: no
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

任務完成! 您已經成功更改了系統的時區。

如果您運行的是較舊的Linux發行版, timedatectl 您的系統上沒有實用程序,您可以通過符號鏈接更改時區 /etc/localtime/usr/share/zoneinfo 目錄。

刪除當前的符號鏈接或文件:

sudo rm -rf /etc/localtime

確定要配置的時區並創建符號鏈接:

sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

通過列出 /etc/localtime 文件或調用 date 命令:

date

輸出包括時區,在此示例中為“ EST”。

Tue Dec  3 14:10:54 EST 2019

結論#

要在Linux系統中更改時區,請使用 sudo timedatectl set-timezone 命令,後跟要設置的時區的長名稱。

如有任何疑問,請隨時發表評論。

終奌站

Sidebar