Chinaunix首页 | 论坛 | 博客
  • 博客访问: 630042
  • 博文数量: 104
  • 博客积分: 1968
  • 博客等级: 上尉
  • 技术积分: 1587
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-01 17:52
文章分类

全部博文(104)

文章存档

2013年(12)

2012年(50)

2011年(42)

分类:

2012-04-13 19:30:37

Linux下的时间分为两种,系统时间与硬件时间。我们一般看到的时间就是系统时间,
比如现在是11:45 AM。硬件时间指的是主板上CMOS中的时间,这两个时间并不是总是同步的,一般情况下大约11分钟同步一次。
  Linux系统启动时,从CMOS中读取当前时间,作为系统时间,从此以后系统时间独立tick,
此时如果你用date命令修改了系统时间,硬件时间是不受影响的,就是说如果此时关机,下次的系统时间还是不对。
要想将系统时间保存到硬件时间,可以是用hwclock 或者clock命令,hwclock就是hardware clock的意思。

  一个完整的修改linux系统时间的过程如下所示:

  注意先改日期,再改时间

  # date -s 20091218 将当前日期改为2009-12-18

  # date -s 14:25:00 将当前系统时间改为12:21:00

  # clock --systohc 将当前系统时间保存到硬件时间

导读:Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

  Linux 中的所有命令(包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

  1、 date

  查看系统时间

  # date

  设置系统时间

  # date -set "07/07/06 10:19″ (月/日/年时:分:秒)

  2、hwclock/clock

  查看硬件时间

  # hwclock --show

  或者# clock --show

  设置硬件时间

  # hwclock -set -date="07/07/06 10:19″ (月/日/年 时:分:秒)

  或者# clock -set -date="07/07/06 10:19″ (月/日/年 时:分:秒)

  3、硬件时间和系统时间的同步

  按 照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

  硬件时钟与系统时钟同步:# hwclock -hctosys(hc代表硬件时间,sys代表系统时间)或者# clock -hctosys

  系统时钟和硬件时钟同步:# hwclock -systohc或者# clock -systohc

  4、时区的设置

  # tzselect

  Please identify a location so that time zone rules can be set correctly.Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia Europe 9) Indian Ocean10) Pacific Ocean11) none - I want to specify the time zone using the Posix TZ format.#? 输入5,亚洲

  Please select a country. 1) Afghanistan 18) Israel 35) Palestine 2) armenia 19) Japan 36) Philippines 3) Azerbaijan 20) Jordan 37) Qatar 4) Bahrain 21) Kazakhstan 38) Russia 5) Bangladesh 22) Korea (North) 39) Saudi Arabia 6) Bhutan 23) Korea (South) 40) Singapore 7) Brunei 24) Kuwait 41) Sri Lanka Cambodia 25) Kyrgyzstan 42) Syria 9) China 26) Laos 43) Taiwan10) Cyprus 27) Lebanon 44) Tajikistan11) East Timor 28) Macau 45) Thailand12) Georgia 29) Malaysia 46) Turkmenistan13) Hong Kong 30) Mongolia 47) United Arab Emirates14) India 31) Myanmar (Burma) 48) Uzbekistan15) Indonesia 32) Nepal 49) Vietnam16) Iran 33) Oman 50) Yemen17) Iraq 34) Pakistan#? 输入9,中国

  Please select one of the following time zone regions.1) east China - Beijing, Guangdong, Shanghai, etc.2) Heilongjiang3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.4) Tibet & most of Xinjiang Uyghur5) southwest Xinjiang Uyghur#? 输入1,北京时间

  The following information has been given:

  China east China - Beijing, Guangdong, Shanghai, etc.

  Therefore TZ="Asia/Shanghai" will be used.Local time is now: Fri Jul 7 10:32:18 CST 2006.Universal Time is now: Fri Jul 7 02:32:18 UTC 2006.Is the above information OK?1) Yes2) No#? 输入1,确认

  如果不用tzselect命令,可以修改文件变更时区。

  # vi /etc/sysconfig/clock ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) UTC=false ARC=false

  # rm /etc/localtime

  # ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重新启动即可。

阅读(1050) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

xu_liuzhen2012-04-14 10:35:39

zhongli_i: 没玩过linux的时间,有时间学习下.....

zhongli_i2012-04-13 22:15:54

没玩过linux的时间,有时间学习下