瞭解Linux的時鐘(轉)
瞭解Linux的時鐘(轉)[@more@]由於Linux時鐘和Windows時鐘從概念的分類、使用到設定都有很大的不同,所以,搞清楚Linux時鐘的工作方式與設定操作,不僅對於Linux初學者有著重大意義,而且對於使用Linux伺服器的使用者來說尤為重要。
Linux時鐘的分類
Windows 時鐘大家可能十分熟悉了,Linux時鐘在概念上類似Windows時鐘顯示當前系統時間,但在時鐘分類和設定上卻和Windows大相徑庭。和 Windows不同的是,Linux將時鐘分為系統時鐘(System Clock)和硬體(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬體時鐘則是主機板上由電池供電的那個主機板硬體時鐘,這個時鐘可以在BIOS的“Standard BIOS Feture”項中進行設定。
既然Linux有兩個時鐘系統,那麼大家所使用的Linux預設使用哪種時鐘系統呢?會不回出現兩種系統時鐘衝突的情況呢?這些疑問和擔心不無道理。首先,Linux並沒有預設哪個時鐘系統。當Linux啟動時,硬體時鐘會去讀取系統時鐘的設定,然後系統時鐘就會獨立於硬體運作。
從Linux啟動過程來看,系統時鐘和硬體時鐘不會發生衝突,但Linux中的所有命令 (包括函式)都是採用的系統時鐘設定。不僅如此,系統時鐘和硬體時鐘還可以採用非同步方式,見圖1所示,即系統時間和硬體時間可以不同。這樣做的好處對於普通使用者意義不大,但對於Linux網路管理員卻有很大的用處。例如,要將一個很大的網路中(跨越若干時區)的伺服器同步,假如位於美國紐約的Linux伺服器和北京的Linux伺服器,其中一臺伺服器無須改變硬體時鐘而只需臨時設定一個系統時間,如要將北京伺服器上的時間設定為紐約時間,兩臺伺服器完成檔案的同步後,再與原來的時鐘同步一下即可。這樣系統和硬體時鐘就提供了更為靈活的操作。
設定Linux的時鐘
在Linux中,用於時鐘檢視和設定的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支援x86硬體體系外,還支援Alpha硬體體系。由於目前絕大多數使用者使用x86硬體體系,所以可以視這兩個命令為一個命令來學習。
1.在虛擬終端中使用date命令來檢視和設定系統時間
檢視系統時鐘的操作:
# date
設定系統時鐘的操作:
# date 091713272003.30
通用的設定格式:
# date 月日時分年.秒
2.使用hwclock或clock命令檢視和設定硬體時鐘
檢視硬體時鐘的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13時24分11秒 -0.482735 seconds
設定硬體時鐘的操作:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的設定格式:hwclock/clock --set --date=“月/日/年 時:分:秒”。
3.同步系統時鐘和硬體時鐘
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)預設重啟後,硬體時鐘和系統時鐘同步。如果不大方便重新啟動的話(伺服器通常很少重啟),使用clock或hwclock命令來同步系統時鐘和硬體時鐘。
硬體時鐘與系統時鐘同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系統時鐘和硬體時鐘同步:
# hwclock --systohc
或者
# clock --systohc
使用圖形化系統設定工具設定時間
對於初學者來,筆者推薦使用圖形化的時鐘設定工具,如Red Hat 8.0中的日期與時間設定工具,可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統設定/日期與時間”來啟動日期時間設定工具。使用該工具不必考慮系統時間和硬體時間,只需從該對話方塊中設定日期時間,可同時設定、修改系統時鐘和硬體時鐘。
Internet同步時鐘設定
在Windows XP日期與時間設定中有一項與Internet同步的功能,有了這項功能只要上網便可得到十分準確的時間。Red Hat 8.0也提供了這樣的功能,在日期與時間設定工具對話方塊中的下部,有一個“啟用網路時間協議”的選項,將該項選中就可以使用網路時間協議來同步Linux 系統時鐘。選中該項後,其下面的伺服器下拉選單框就變為可用狀態,可從中選擇一個時間伺服器作為遠端時間伺服器。然後單擊確定按鈕,便可連線所設定的時間伺服器,並與之同步時間。
Linux時鐘的分類
Windows 時鐘大家可能十分熟悉了,Linux時鐘在概念上類似Windows時鐘顯示當前系統時間,但在時鐘分類和設定上卻和Windows大相徑庭。和 Windows不同的是,Linux將時鐘分為系統時鐘(System Clock)和硬體(Real Time Clock,簡稱RTC)時鐘兩種。系統時間是指當前Linux Kernel中的時鐘,而硬體時鐘則是主機板上由電池供電的那個主機板硬體時鐘,這個時鐘可以在BIOS的“Standard BIOS Feture”項中進行設定。
既然Linux有兩個時鐘系統,那麼大家所使用的Linux預設使用哪種時鐘系統呢?會不回出現兩種系統時鐘衝突的情況呢?這些疑問和擔心不無道理。首先,Linux並沒有預設哪個時鐘系統。當Linux啟動時,硬體時鐘會去讀取系統時鐘的設定,然後系統時鐘就會獨立於硬體運作。
從Linux啟動過程來看,系統時鐘和硬體時鐘不會發生衝突,但Linux中的所有命令 (包括函式)都是採用的系統時鐘設定。不僅如此,系統時鐘和硬體時鐘還可以採用非同步方式,見圖1所示,即系統時間和硬體時間可以不同。這樣做的好處對於普通使用者意義不大,但對於Linux網路管理員卻有很大的用處。例如,要將一個很大的網路中(跨越若干時區)的伺服器同步,假如位於美國紐約的Linux伺服器和北京的Linux伺服器,其中一臺伺服器無須改變硬體時鐘而只需臨時設定一個系統時間,如要將北京伺服器上的時間設定為紐約時間,兩臺伺服器完成檔案的同步後,再與原來的時鐘同步一下即可。這樣系統和硬體時鐘就提供了更為靈活的操作。
設定Linux的時鐘
在Linux中,用於時鐘檢視和設定的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不過clock命令除了支援x86硬體體系外,還支援Alpha硬體體系。由於目前絕大多數使用者使用x86硬體體系,所以可以視這兩個命令為一個命令來學習。
1.在虛擬終端中使用date命令來檢視和設定系統時間
檢視系統時鐘的操作:
# date
設定系統時鐘的操作:
# date 091713272003.30
通用的設定格式:
# date 月日時分年.秒
2.使用hwclock或clock命令檢視和設定硬體時鐘
檢視硬體時鐘的操作:
# hwclock --show 或
# clock --show
2003年09月17日 星期三 13時24分11秒 -0.482735 seconds
設定硬體時鐘的操作:
# hwclock --set --date="09/17/2003 13:26:00"
或者
# clock --set --date="09/17/2003 13:26:00"
通用的設定格式:hwclock/clock --set --date=“月/日/年 時:分:秒”。
3.同步系統時鐘和硬體時鐘
Linux系統(筆者使用的是Red Hat 8.0,其它系統沒有做過實驗)預設重啟後,硬體時鐘和系統時鐘同步。如果不大方便重新啟動的話(伺服器通常很少重啟),使用clock或hwclock命令來同步系統時鐘和硬體時鐘。
硬體時鐘與系統時鐘同步:
# hwclock --hctosys
或者
# clock --hctosys
上面命令中,--hctosys表示Hardware Clock to SYStem clock。
系統時鐘和硬體時鐘同步:
# hwclock --systohc
或者
# clock --systohc
使用圖形化系統設定工具設定時間
對於初學者來,筆者推薦使用圖形化的時鐘設定工具,如Red Hat 8.0中的日期與時間設定工具,可以在虛擬終端中鍵“redhat-config-time”命令,或者選擇“K選單/系統設定/日期與時間”來啟動日期時間設定工具。使用該工具不必考慮系統時間和硬體時間,只需從該對話方塊中設定日期時間,可同時設定、修改系統時鐘和硬體時鐘。
Internet同步時鐘設定
在Windows XP日期與時間設定中有一項與Internet同步的功能,有了這項功能只要上網便可得到十分準確的時間。Red Hat 8.0也提供了這樣的功能,在日期與時間設定工具對話方塊中的下部,有一個“啟用網路時間協議”的選項,將該項選中就可以使用網路時間協議來同步Linux 系統時鐘。選中該項後,其下面的伺服器下拉選單框就變為可用狀態,可從中選擇一個時間伺服器作為遠端時間伺服器。然後單擊確定按鈕,便可連線所設定的時間伺服器,並與之同步時間。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-941543/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 5分鐘帶你瞭解Linux awk命令!Linux
- 10分鐘帶你瞭解 Linux 系統中的 Top 命令Linux
- 五分鐘瞭解 BlazorBlazor
- 三分鐘瞭解實時流式大資料分析大資料
- 10分鐘瞭解react引入的hooksReactHook
- 5分鐘瞭解快取的概念快取
- 5分鐘帶你瞭解Linux常用命令全稱Linux
- 五分鐘快速瞭解Less
- 5分鐘快速瞭解 RedisRedis
- 30分鐘快速瞭解webpackWeb
- 三分鐘瞭解架構的起源架構
- 一分鐘瞭解堆的基本操作
- 8分鐘瞭解TDengine的WAL機制
- 8分鐘瞭解 TDengine 的 WAL 機制
- 五分鐘瞭解Python中的函式Python函式
- 兩分鐘瞭解Java中volatile!Java
- 30 分鐘內瞭解 IEC 61850
- 10分鐘帶你瞭解NLA
- 深入瞭解SCN(轉)
- 5分鐘瞭解vue-router的基本使用Vue
- 一分鐘瞭解HTTP代理不同的功能HTTP
- 瞭解MySQL的隱式轉化MySql
- 瞭解linux的程式:rootfs與linuxrcLinux
- 五分鐘瞭解網路連線
- 一分鐘瞭解PON網路
- 一分鐘瞭解JAVA語言Java
- 5分鐘瞭解資料結構資料結構
- 什麼是JAVAEE? 2分鐘瞭解Java
- 三分鐘瞭解Go語言的前世今生Go
- 一分鐘瞭解JDBC的構成和原理JDBC
- Linux的時鐘及常用的時間同步伺服器地址Linux伺服器
- 瞭解Android Matrix轉換Android
- 瞭解JavaScript中的型別轉換JavaScript型別
- 五分鐘快速瞭解ArrayLike(類陣列)陣列
- 一分鐘瞭解敏捷開發模式敏捷模式
- 三分鐘深入瞭解Spring底層Spring
- 時間戳轉化為動態時鐘--moment時間戳
- 2分鐘瞭解Python的5種傳參姿勢Python
- 八分鐘瞭解快取的常見問題?快取