最近在linux上由於系統時間和硬件時間,出了很多問題,因此想詳細瞭解一下linux時間,但願能對和我有一樣問題的童鞋有所幫助.有問題,找"男人"!這是我剛接觸linux時,老師常常說的一句話。此"男人",非彼男人也,不過此"男人"和男人的功能同樣,都很是強大,嘿嘿。閒話少說,進入正題。linux
Linux時鐘分爲系統時鐘(System Clock)和硬件(Real Time Clock,簡稱RTC)時鐘。系統時鐘是指當前Linux Kernel中的時鐘,而硬件時鐘則是主板上由電池供電的時鐘,這個硬件時鐘能夠在BIOS中進行設置。當Linux啓動時,硬件時鐘會去讀取系統時鐘的設置,而後系統時鐘就會獨立於硬件運做。Linux中的全部命令(包括函數)都是採用的系統時鐘設置。在Linux中,用於時鐘查看和設置的命令主要有date、hwclock。ide
咱們先來用一下男人,man date,詳細內容以下:
函數
1、date(日期)測試
NAME(名字)
this
SYNOPSIS(語法)
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]同步
DESCRIPTION(描述):
Display the current time in the given FORMAT, or set the system date.#顯示當前你要求格式的時間或者設置系統日期
-f, --file=DATEFILE like --date once for each line of DATEFILE #和上面的--date相似,每一行來自DATEFILE。
-r, --reference=FILE display the last modification time of FILE #顯示最近修改時間的文件
-R, --rfc-2822 output date and time in RFC 2822 format. #輸出時間和日期爲RFC2822的格式,例如:Mon, 07 Aug 2006 12:34:56 -0600
--rfc-3339=TIMESPEC output date and time in RFC 3339 format. #輸出時間和日期爲RFC2822的格式,時間和日期是經過空格分開的:2006-08-07 12:34:56-06:00
-s, --set=STRING set time described by STRIN #設置STRING描述的時間
-u, --utc, --universal print or set Coordinated Universal Time #協調世界時(Coordinated Universal Time,縮寫爲UTC,而且所以它的拼寫常常寫爲Universal TimeCoordinated,有時也寫成Universal Coordinated Time)是世界各地通用標準時間。之前的如今仍然普遍流行的是格林威治時間,也叫做世界時,諧調世界時名義上反映了隨着地球的基本子午線平均日光時間。
-help display this help and exit #顯示幫助並退出
-version output version information and exit #顯示版本信息並退出
2、hwclock
語法格式:
hwclock [--adjust][--debug][--hctosys][--show][--systohc][--test]
[--utc][--version][--set --date=<日期與時間>]
參數說明:
–adjust or -a
hwclock每次更改硬件時鐘時,都會記錄在/etc/adjtime文件中。使用adjust參數,可以使hwclock根據先前的記錄來估算硬件時鐘的誤差,並用來校訂目前的硬件時鐘。
–hctosys or -s
將系統時鐘調整爲與目前的硬件時鐘一致。
–set –date=<日期與時間>
設定硬件時鐘。
–show or -r
顯示硬件時鐘的時間與日期。
–systohc or -w
將硬件時鐘調整爲與目前的系統時鐘一致。
–version or -v
顯示版本信息。
–debug
顯示hwclock執行時詳細的信息。
–test
僅測試程序,而不會實際更改硬件時鐘。
–utc
若要使用格林威治時間,請加入此參數,hwclock會執行轉換的工做。
同步系統時鐘和硬件時鐘
# hwclock –w
設置硬件時鐘時間:
# hwclock --set --date="9/8/2007 16:45:05"
查看硬件時鐘
# hwclock -r