timedatectl是用來查詢和修改系統(tǒng)時(shí)間和配置的Linux應(yīng)用程序。它是systemd 系統(tǒng)服務(wù)管理的一部分,并且允許你檢查和修改系統(tǒng)時(shí)鐘的配置。
在這篇文章中,我們將涉及該小巧但十分重要應(yīng)用程序的所有方面。
系統(tǒng)當(dāng)前的時(shí)間狀態(tài)
想要查看系統(tǒng)當(dāng)前日期/時(shí)間,以及可使用不帶任何參數(shù)的命令查看當(dāng)前系統(tǒng)時(shí)間配置,可以這樣:
# timedatectl
輸入的結(jié)果就像這樣:
修改日期
想要修改系統(tǒng)日期,你可以簡單地使用timedatectl設(shè)置時(shí)間命令,緊隨命令的是YYYY-MM-DD格式的日期,YYYY代表年,MM代表2位數(shù)字的月份,DD代表2位數(shù)字的天。舉個(gè)例子,如果你想把日期改為2015年2月4號(hào),你應(yīng)該使用下面的命令:
# timedatectl 2015-02-04
修改時(shí)間
想要修改時(shí)間,你可以以相同的方式使用該工具,但是使用的格式為HH:MM:SS,HH代表24小時(shí)制的時(shí)鐘,MM代表分鐘,SS代表秒鐘。想將當(dāng)前時(shí)間設(shè)為22:04:43,使用下面的命令:
# timedatectl 22:04:43
修改時(shí)區(qū)
設(shè)置正確的時(shí)區(qū)是保持時(shí)間同步的關(guān)鍵,特別是在你使用NTP協(xié)議同步的時(shí)候。首先,你應(yīng)該使用list-timezones選項(xiàng)列出你所在區(qū)域的可用時(shí)區(qū),你也可以使用grep和more來讓格式方便閱讀:
# timedatectl list-timezones | grep America | more
這將顯示一個(gè)簡單的滾動(dòng)列表格式。
之后,你就會(huì)知道你想設(shè)置的時(shí)區(qū)是如何命名的,然后使用下面的命令修改它:
# timedatectl set-timezone America/Los_Angeles
設(shè)置本地時(shí)鐘
實(shí)時(shí)時(shí)鐘(RTC),通常被稱為硬件時(shí)鐘,完全獨(dú)立于操作系統(tǒng)當(dāng)前狀態(tài),甚至可以在計(jì)算機(jī)關(guān)閉的時(shí)候工作。你可以配置系統(tǒng)使用國際時(shí)間(UTC)或當(dāng)?shù)貢r(shí)間來校正RTC。注意,使用當(dāng)?shù)貢r(shí)區(qū)校正RTC并沒有完美支持,而且還有可能因?yàn)闀r(shí)區(qū)變化和夏令時(shí)調(diào)整引起許多問題。如果有可能,在UTC模式下校正RTC。這一做法的唯一問題是,其他操作系統(tǒng)可能不完全支持它(如果你在同一臺(tái)機(jī)器上運(yùn)行2個(gè)操作系統(tǒng)的話)。
使用UTC模式校正RTC,使用下面的命令:
# timedatectl set-local-rtc 0
使用當(dāng)?shù)貢r(shí)間校正,使用:
# timedatectl set-local-rtc 1
設(shè)置NTP同步
網(wǎng)絡(luò)時(shí)間協(xié)議(NTP)是在分組交換、可變數(shù)據(jù)延遲的計(jì)算機(jī)系統(tǒng)間進(jìn)行時(shí)鐘同步的網(wǎng)絡(luò)協(xié)議。NTP被設(shè)計(jì)使用幾毫秒的協(xié)調(diào)通用時(shí)間(UTC)來同步所有參與的計(jì)算機(jī)。如果你希望設(shè)置NTP同步,你可以使用set-ntp選項(xiàng)設(shè)置。使用“no”關(guān)閉NTP同步,使用“yes”開啟。
# timedatectl set-ntp yes