zoukankan      html  css  js  c++  java
  • linux中的时间

    基本概念

    RTC时间

    Real Time Clock。来自主板上的RTC芯片,也叫CMOS时钟、硬件时钟,靠主板上的电池来维持。通过hwclock命令查询或设置。
    硬件时钟在关机时仍然存在,在系统关机时将系统时间写回RTC中进行同步。

    系统时间

    系统时钟(System Clock),由CPUtick维持。内核时钟,本地时间(Local Time),墙上时间(Wall Time)。比如date命令看到的时间。
    系统时钟在关机时不存在,操作系统启动时读取RTC时间来进行同步。
    Local Time后面带一个CST缩写,代表的是China Standard Time UT+8:00。
    (CST也有可能是其他时区的缩写,这里不说了。)
    /etc/localtime

    GMT时间

    格林尼治标准时间,GreenwichMean Time,指位于格林尼治天文台的标准时间。现已不作为标准时间使用,被UTC替代。

    UTC时间

    世界协调时间,Coordinated Universal Time,以原子时秒长为基准,在时刻上尽量接近格林尼治标准时间。
    在Linux配置中,中国选择时区时,应选择 Asia/Shanghai,也就是 UTC+8,也就是在标准时间上加8小时。
    timedatectl显示的时间,Universal Time,就是UTC标准时间。

    时区

    不解释了,北京时间属于东八区。/etc/timezone

    NTP

    网络时间协议,Network Time Protocol,是用来使计算机时间同步的一种协议。目的是在无序的Internet环境中提供精确和健壮的服务,其时间来源是UTC。

    Unix时间戳

    是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。

    命令工具

    hwclock
    用于查看和设置RTC时间。还有一个类似命令,clock。

    timedatectl
    用于查看所有时间,包括本地时间、RTC时间、UTC时间、时区、ntp服务同步等等配置。
    也可用于设置时区。
    设置ntp同步。
    等等

    tzselect
    选择时区。

    date
    查看和设置local time。

    ntp
    ntp又是一个比较大的话题,暂不多说。
    https://www.cnblogs.com/kerrycode/p/4744804.html
    https://blog.csdn.net/weixin_42588262/article/details/82501488
    一般作为后台服务运行,相关命令和服务主要有ntpdate、ntpd等。
    配置文件有 /etc/ntp.conf /etc/ntp/ntpservers
    启动 /etc/init.d/ntpd

    修改时间

    大概修改时间,不要求同步、精确,date -s ''
    手工从某一个服务器同步时间,例如 ntpdate time2.aliyun.com
    使用ntpd,/etc/ntpd
    对于比较老的发行版,没有timedatectl,可以直接修改文件来达到修改时区的目的。
    通过tzselect修改时区为Asia/Shanghai之后,date显示的仍然是PST时间,可以使用这个方法修改date显示,将PST改为CST。

    mv /etc/localtime /root
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    /etc/init.d/ntpd start
    

    经验和建议

    • 不要使用UI设置时间
    • 使用命令行工具设置时区和时间
    • 默认情况下,系统时间和硬件时间并不会自动同步。
    • 设置了时区之后,local time在没有开启ntp服务的情况下,是不会自动同步到正确时间的,需要手工设置
    • timedatectl是一个好工具。

    参考

    https://www.cnblogs.com/wangrx/p/6188387.html
    https://blog.csdn.net/u013686019/article/details/57126940

  • 相关阅读:
    在国内时,更新ADT时需要配置的
    mantis增加密码修改
    http://182.92.241.20/mypro/login 偶的点金项目细化分包管理平台即将上线!!
    bootstrap菜单完美解决---原创
    PB常用日期
    ctrl+shift+del 清理火狐缓存,解决页面显示错乱问题
    Kylin上chromium不能用flash的解决命令
    正确的SVN导入代码命令
    GNU :6.47 Function Names as Strings
    std::advance 给迭代器增加指定偏移量
  • 原文地址:https://www.cnblogs.com/jamesnpu/p/14482791.html
Copyright © 2011-2022 走看看