linux下使用date、hwclock和clock命令显示和设定时钟

    linux将时钟分为系统时钟(System Clock)和硬件时钟(Real Time Clock )两种。系统时间指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的那个主板硬件时钟,这个时钟可以在BIOS的“Standard BIOS Feture”项中进行设置。当linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作,因此系统时钟和硬件时钟可以采用异步方式,即系统时间和硬件时间可以不同。从linux启动过程来看,系统时钟和硬件时钟不会发生冲突,但linux中的所有命令都是采用的系统时钟设置。

   在linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。date显示与设定系统时钟,hwclock和clock用来显示与设定硬件时钟,不过hwclock和clock可以视为一个命令。

1 # type -a hwclock
2 hwclock is /sbin/hwclock
3 hwclock is /usr/sbin/hwclock
4 # type -a clock
5 clock is /sbin/clock 
6 # ls -l /sbin/clock
7 lrwxrwxrwx. 1 root root 7 12月 13 2013 /sbin/clock -> hwclock

    下面就分别举例说明date、hwclock(clock)的使用。

一、显示与设定系统时钟

1 # date               \\显示系统时间
2 2015年 04月 11日 星期六 21:12:59 CST
3 # date -s 2015-04-11 13:15:15   \\修改系统时间
4 2015年 04月 11日 星期六 13:15:15 CST
5  
6 \\也可通过下面的方法设置系统时间
7 # date 041120252015.15     \\月日时分年.秒
8 2015年 04月 11日 星期六 20:25:15 CST

二、显示与设定硬件时钟

 1 \\显示硬件时钟下面三条命令相同
 2 # hwclock
 3 2000年04月11日 星期二 13时24分35秒  -0.109687 seconds
 4 # hwclock -r
 5 2000年04月11日 星期二 13时24分43秒  -0.359613 seconds
 6 # hwclock --show
 7 2000年04月11日 星期二 13时24分49秒  -1.051616 seconds
 8 
 9 \\设置硬件时钟
10 # hwclock --set --date 2015-04-11 13:36:11
11 # hwclock --show
12 2015年04月11日 星期六 13时36分16秒  -0.797103 seconds

三、时钟同步,前面说过系统时钟和硬件时钟是异步,可以不相同。但是有时需要使两者同步。

\\将系统时钟同步到硬件时钟
\\方法1  clock -w
# date
2015年 04月 11日 星期六 20:36:26 CST
# clock
2015年04月11日 星期六 13时41分18秒  -0.437760 seconds
# clock -w       \\将系统时钟同步到硬件时钟
# clock
2015年04月11日 星期六 20时37分36秒  -0.515922 seconds

\\方法2   clock --systohc
# clock --set --date="08/16/2013 13:26:00"
# clock
2013年08月16日 星期五 13时26分04秒  -0.390867 seconds
# date
2015年 04月 11日 星期六 20:41:13 CST
# clock --systohc
# clock
2015年04月11日 星期六 20时43分18秒  -0.094007 seconds

\\将硬件时钟同步到系统时钟
# clock --set --date="08/16/2013 13:26:00"  
# clock
2013年08月16日 星期五 13时26分03秒  -0.281525 seconds
# date
2015年 04月 11日 星期六 20:45:14 CST
# clock --hctosys   \\时钟同步
# date
2013年 08月 16日 星期五 13:26:22 CST
# clock
2013年08月16日 星期五 13时26分25秒  -0.406511 seconds

最后,我们把系统时钟与网络时钟同步,再同步到硬件时钟

1 # ntpdate 0.rhel.pool.ntp.org
2 11 Apr 13:48:03 ntpdate[5786]: step time server 202.112.29.82 offset 52100210.175926 sec
3 # date
4 2015年 04月 11日 星期六 13:48:14 CST
5 # clock -w
6 # clock
7 2015年04月11日 星期六 13时48分30秒  -0.750266 seconds

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。