Command-Line
如何從 Internet 設置時間和日期?
如何從 Internet 檢索日期並從命令行設置電腦的時鐘?
您可以使用 :
sudo dpkg-reconfigure tzdata
用於配置您的時區。
要從 Internet 更新時間和日期,請使用以下命令:
安裝
如果未安裝 ntpd,請使用以下任一命令安裝 ntpd:
- 對於基於 RPM:
yum install ntp
- 對於基於 Debian:
sudo apt-get install ntp
配置
您至少應該在 /etc/ntp.conf 配置文件中設置以下參數: server
例如,使用 vi 文本編輯器打開 /etc/ntp.conf 文件:
# vi /etc/ntp.conf
找到伺服器參數並設置如下:
server pool.ntp.org
保存文件並重新啟動 ntpd 服務:
# /etc/init.d/ntpd start
您可以使用以下命令立即將系統時鐘同步到 NTP 伺服器:
# ntpdate pool.ntp.org
*要手動設置時間和日期,請使用以下語法:
date --set="STRING"
例如,將新數據設置為 2006 年 10 月 2 日 18:00:00,以 root 使用者身份輸入以下命令:
# date -s "2 OCT 2006 18:00:00"
或者
# date --set="2 OCT 2006 18:00:00"
您還可以使用以下語法簡化格式:
# date +%Y%m%d -s "20081128"
要設置時間,請使用以下語法:
# date +%T -s "10:13:13"
在哪裡,
10:時 (hh) 13:分 (mm) 13:秒 (ss)
使用相當於 AM 或 PM 的 %p 區域設置,輸入:
# date +%T%p -s "6:10:30AM" # date +%T%p -s "12:10:30PM"
我發現了一個小程式碼來更新你的時間,以防你不想安裝任何東西來更新日期。:)
sudo date -s "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f2-7)"
此命令假定對
wget
請求的響應中的“日期”標頭具有格式Date: Wed, 05 Jan 2022 10:53:35 GMT
。標題的格式在過去發生了變化。您可以通過執行在實際設置時間之前檢查是否date
正確理解字元串$ date -d "$(wget --method=HEAD -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f2-7)" Mon Jan 10 11:40:46 AM CET 2022
該
wget
命令可以替換為curl -Is --max-redirs 0 google.com
。請注意,
--method=HEAD
使用它是因為似乎GET
響應可能會被記憶體(帶有舊Date
標頭),而HEAD
響應是新鮮的。