一. 「系統時間」與「硬體時間」
本地時間 = utc + 時區 或 utc = 本地時間 - 時區
時區東為正,西為負,例如在中國,本地時間都使用北京時間,在linux上顯示就是 cst(china standard time,中國標準時,注意美國的中部標準時central standard time也縮寫為cst,與這裡的cst不是一回事!),時區為東八區,也就是 +8 區,所以 cst=utc+(+8小時) 或 utc=cst-(+8小時)。
三、時間指令
1、date 得到本地時間,加上引數 -u 得到 utc 時間。
設定時間和日期
將系統日期設定成2023年6月10日的命令
date -s 06/22/96
將系統時間設定成下午1點52分0秒的命令
date -s 13:52:00
2、hwclock --localtime 得到儲存在 bios 中的硬體時候。
將當前時間和日期寫入bios,避免重啟後失效
# hwclock -w
硬體時鐘與系統時鐘同步:
# hwclock --hctosys
系統時鐘和硬體時鐘同步:
# hwclock --systohc
四、時區
1. 檢視當前時區
date -r
2. 修改設定時區
方法(1)
tzselect
方法(2) 僅限於redhat linux 和 centos
timeconfig
方法(3) 適用於debian
dpkg-reconfigure tzdata
3. 複製相應的時區檔案,替換系統時區檔案;或者建立鏈結檔案
cp /usr/share/zoneinfo/$主時區/$次時區 /etc/localtime
在中國可以使用:
cp /usr/share/zoneinfo/asia/shanghai /etc/localtime
/etc/locatime 這個檔案用來設定系統的時區,將 /usr/share/zoneinfo/ 中相應檔案拷貝到/etc下並重命名為 localtime 即可修改時區設定,而且這種修改對 date 命令是及時生效的。不論是 date 還是 hwclock 都會用到這個檔案,會根據這個檔案的時區設定來進行utc和本地之間之間的換算。
執行sudo ntpdate cn.pool.ntp.org,
cn.pool.ntp.org是位於中國的公共ntp伺服器,用來同步你的時間。
tz='asia/shanghai'; export tz
to the file '.profile' in your home directory; then log out and log in again.
五、/etc 下的檔案
1、/etc/sysconfig/clock
檔案,只對 hwclock 命令有效,且只在系統啟動和關閉的時候才有用(修改了其中的 utc=true 到 utc=false 的前後,執行 hwclock (--utc, 或 --localtime) 都沒有變化,要重啟系統後才生效);
2、/etc/default/rcs 為 ubuntu 下等同於 /etc/sysconfig/clock 的檔案。
3、/etc/rc.d/rc.sysinit 檔案,run once at boot time,其中有從硬體時鐘同步時間到系統時間的操作;
系統啟動和關閉時,硬體時間與系統時間之間的同步有兩種方式(假設在中國,用cst代表本地時間):
方式a: 使用utc(對linux就是 /etc/sysconfig/clock 中 utc=true)
開機: bios------->utc(將bios中的時間看成是utc)------(時區變化)----->cst
關機: cst -------(時區變化)----->utc-------儲存到------>bios
方式b: 不使用utc(對linux就是 /etc/sysconfig/clock 中 utc=false)
開機: bios--------------------->cst(將bios中的時間看成是cst)
關機: cst ---------儲存到------>bios
參考:
linux 硬體時間 系統時間
建了乙個虛擬機器,發現每次重啟後系統時鐘總是跟現有時間相差10多個小時 用date s進行修正之後,再次重啟又出現該問題。於是懷疑跟硬體時鐘有關 用hwclock看了下,發現的確硬體時鐘的時間存在差異。調整硬體時鐘 hwclock set date root localhost date s 200...
linux 系統時間 硬體時間
linux時鐘分為系統時鐘 system clock 和硬體時鐘 real time clock,簡稱rtc 系統時鐘是指當前linux kernel中的時鐘 而硬體時鐘則是主機板上由電池供電的時鐘,硬體時鐘可以在bios中進行設定。當linux啟動時,系統時鐘會去讀取硬體時鐘的設定,然後系統時鐘就...
linux系統修改系統時間
linux系統含兩種時間,一種是系統時間,另一種是硬體時間。date命令將日期設定為2020年12月07日 date s 12 07 20 將時間設定為14點20分50秒 date s 14 20 50 將時間設定為2014年6月18日14點16分30秒 mmddhhmmyyyy.ss date 0...