最近在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