修改LINUX时间

Posted 有一天你会来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了修改LINUX时间相关的知识,希望对你有一定的参考价值。

命令格式为:

date -s 时间字符串

例如只修改系统的日期,不修改时间(时分秒)

date -s 2012-08-02

或只修改时间不修改日期

date -s 10:08:00

当然也可以同时修改日期和时间

date -s "2012-05-18 04:53:00"

注意:由于日期和时间之间有空格,所以必须用引号引起来,否则命令会报错。

上述修改只是修改了linux的系统时间,CMOS中的时间可能还没有改变,所以为了保险,需要使用 clock -w 把当前系统时间写入到CMOS中。

系统时间和CMOS时间的关系。系统时间是由linux操作系统来维护的;CMOS时间是CMOS芯片保存的时间。系统启动时,操作系统将从CMOS读出时间记录为系统时间,同时操作系统也会自动每隔一段时间将系统时间写入CMOS中。如果使用date命令修改系统时间后马上重启电脑,操作系统还没有将系统时间同步到CMOS,这样开机后就还是没有修改前的时间了,所以为了保险起见,最还还是手动使用命令 clock 将系统时间同步到CMOS中。

 

注意,这里说的是系统时间,是由Linux操作系统维护的。    
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。如果要确保修改生效可以执行如下命令。    
#clock -w     这个命令强制把系统时间写入CMOS
----------------------------

CST:中国标准时间(China Standard Time),这个解释可能是针对RedHat Linux。

UTC:协调世界时,又称世界标准时间,简称UTC,从英文国际时间/法文协调时间“Universal Time/Temps Cordonné”而来。中国大陆、香港、澳门、台湾、蒙古国、新加坡、马来西亚、菲律宾、澳洲西部的时间与UTC的时差均为+8,也就是UTC+8。

GMT:格林尼治标准时间(旧译格林威治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

设置完系统时间后,还需要同步到硬件时钟上

 

 

修改系统时间。

        linux系统时钟有两个,一个是硬件时钟,即Bios时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。

date命令将日期设置为2014年6月18日

 ----   date -s 06/18/14

将时间设置为14点20分50秒

 ----   date -s 14:20:50

将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)

----date 0618141614.30

 

技术分享

 

  1. 2

     hwclock/clock 命令查看、设置硬件时间

    查看系统硬件时钟

    hwclock  --show 或者

    clock  --show

    设置硬件时间

     hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)

  2. 3

     同步系统及硬件时钟。

    下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,

    硬件时钟与系统时钟同步:

    # hwclock --hctosys 或者 # clock --hctosys  hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

    系统时钟和硬件时钟同步:

    # hwclock --systohc或者# clock --systohc  即用系统时钟同步硬件时钟

    技术分享
    技术分享
    技术分享
    END

 

方法/步骤2

 

 

 

  1. 1

     时区设置:

            开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍一下如何使用tzselect命令设置时区,以及如何通过修改/etc/sysconfig/clock配置文件来设置时区。

  2. 2

     tzselect:

    执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。过程如下图:

    技术分享
    技术分享
    技术分享
  3. 3

     执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ=‘Asia/Shanghai‘; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。参考下图中date命令看到的结果,最终时区显示为CST,即中国标准时间。

    技术分享
  4. 4

     修改配置文件来修改时区1、修改/etc/sysconfig/clock         ZONE=Asia/Shanghai

    2、rm /etc/localtime3、链接到上海时区文件       

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

    执行完上述过程后,重启机器,即可看到时区已经更改。

    技术分享
    技术分享
    技术分享

 



以上是关于修改LINUX时间的主要内容,如果未能解决你的问题,请参考以下文章

linux 修改时间并永久生效

windows修改linux时间

linux如何得到一个文件的最后修改时间

linux如何修改锁屏时间

linux 修改硬件时间

linux 下怎么判断文件的创建时间