linux时间管理与配置date与hwclock命令

Posted Pipci

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux时间管理与配置date与hwclock命令相关的知识,希望对你有一定的参考价值。

简介:

古代计时方式
●在远古时期,人类用来确定时间的方式是一些自然界“相对”亘古不变的周期。如地球的公转是为一年,月球的公转是为一月,地球的自转是为一天等,最早的计时可以追溯到公元前大约2000年,古埃及人利用光线留下的影子用作计时的工具。影子拉得越长,计时越精确。古埃及人修建高耸入云的大型方尖碑,来追踪太阳的移动,随后人们又利用了沙漏、日晷、钟摆等工具,巧妙地利用一些相对固定而准确的周期来计时
●商朝人开发并使用了一种泄水型水钟——漏壶。后来又有用蜡烛和线香计时的
●北宋元祐元年(1086年),天文学家苏颂将浑仪、浑象和报时装置结合,建造一个划时代的计时工具——“水运仪象台”
●14世纪时,西方国家广泛使用机械钟。在十六世纪,奥斯曼帝国的科学家达兹·艾-丁(Taqi al-Din)发明出了机械闹钟
●1583年,伽利略提出了著名的等时性理论,即不论摆动幅度的大小,完成一次摆动的时间是相同的。1656年,荷兰科学家克里斯蒂安·惠更斯(Christiaan Huygens)应用他的理论,设计出了世界第一只钟摆
●1868年,百达翡丽(Patek Philippe)发明了手表

现代计时方式
●石英晶体受到电池的电力影响时,会产生规律的振动。每秒的振动次数是32768次,可以设计电路来计算振动次数,当计数到32768次时,即计时1秒。1967年,瑞士人发布了世界上首款石英表
●当原子从一个相对高的“能量态”迁至低的“能量态”时,会释放出电磁波,产生共振频率。依据此原理,拉比构想出了一种全新的计时仪器——原子钟(Atomic clock)
●因为原子的共振频率是固定的。如:铯原子(Caesium133)的固有频率是9192631770赫兹,约合92亿赫兹,对铯原子钟计数9192631770次,即可测量出一秒钟。很多国家(包括我国和美国NIST)的标准局,就是用铯原子钟来作为时间精度标准的。GPS系统也是用铯原子钟来计时
●2008年诞生的锶(Strontium87)原子钟,固有频率为429228004229873,约合430万亿赫兹,将精度提高到了10的17次方
●2013年镱元素(ytterbium)制成的原子钟问世,镱原子钟的固有频率约合518万亿赫兹,精度高达10的18次方。宇宙的年龄为138亿年。如果这台镱原子钟从宇宙诞生之初就开始计时,直到今天也不会发生1秒的误差

时间的重要行不言而喻,比如春节你要买票回老家,12306说8点(北京时间)开始售票,你的时间比北京时间却晚了1分钟,当你8点去强票肯定是没有了,中国的春运,别说差1分钟就是1秒钟你都抢不到。在计算机里也非常重要,尤其是在集群环境下更是如此,如果多台主机的时间不一致很肯出现问题。

上面说了这么多下面我们进入正题:

一、先了解几个概念
GMT:Greenwich Mean Time,即格林尼治标准时间,也就是世界时。GMT 以地球自转为基础的时间计量系统,但由于地球自转不均匀,导致 GMT 不精确,现在已经不再作为世界标准时间使用。

UTC:Universal Time Coordinated,即协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。UTC 是以原子时秒长为基础,在时刻上尽量接近于 GMT 的一种时间计量系统。为确保 UTC 与 GMT 相差不会超过 0.9 秒,在有需要的情况下会在 UTC 内加上正或负闰秒。UTC 现在作为世界标准时间使用。

时区:为了克服不同地区时间上的混乱,1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1—12区,西1—12区。每个时区横跨经度15度,时间正好是1小时。最后的东、西第12区各跨经度7.5度,以东、西经180度为界。每个时区的中央经线上的时间就是这个时区内统一采用的时间,称为区时,相邻两个时区的时间相差1小时。
例如,中国东8区的时间总比泰国东7区的时间早1小时,而比日本东9区的时间晚1小时。因此,出国旅行的人,必须随时调整自己的手表,才能和当地时间相一致。凡向西走,每过一个时区,就要把表拨慢1小时(比如2点拨到1点);凡向东走,每过一个时区,就要把表拨快1小时(比如1点拨到2点)。并且规定英国(格林尼治天文台旧址)为本初子午线,即零度经线。

RTC:Real-Time Clock,即实时时钟,在计算机领域作为硬件时钟的简称。

二、电脑系统中有两个时间:

硬件时间:保存在主板Bios中,信息比较少没时区、夏令时的概念
系统时间:又系统维护,独立于硬件时间,拥有时区、夏令时等信息,系统时间会参考硬件时间,在每次电脑开机的时候都会读取硬件时间从而得到系统时间。

Windows 与 Linux 参考硬件时间的方式不同。Windows 把电脑的硬件时钟看成是本地时间,即 硬件时间 = Local Time,Windows系统会直接显示硬件时间;而Linux系统则是把电脑的硬件时钟看成 UTC 时间,即 硬件时间 = UTC,那么Linux系统显示的时间就是硬件时间加上时区才是Local Time。所以你会发现BIOS时间与Linux时间会出现相差8小时的问题。

三、date命令查看修改系统时间
1、查看系统时间
-----------------------------------
laopi@debian:~$ date
2020年 05月 04日 星期一 21:37:52 CST ##CST(时区缩写)可视为美国、澳大利亚、古巴或中国的标准时间
-----------------------------------

2、配置系统时间,只有root用户可以操作
-----------------------------------
date -s 10:01:10             ##只设置时间,不会对日期做更改

date -s 20180818           ##设置成2018年8月18号,这样同时会把时间设置00:00:00

date -s "20180818 10:01:10"         ##同时设置时间与日期,日期和时间需要用双引号扩起来

date -s "2018-08-18 10:01:10"      ##同时设置时间与日期另一种书写形式
-----------------------------------

四、hwclock命令查看修改硬件时间,只有root用户可以使用这个命令
1、查看硬件时间
-----------------------------------
root@debian:~# hwclock
2020-05-04 22:19:17.172749+0800      ##+0800表示东8区,这个时间也就是硬件时间加8后的时间
-----------------------------------

2、将系统时间同步到硬件时间
-----------------------------------
root@debian:~# hwclock -w
-----------------------------------

3、将硬件时间同步到系统时间
-----------------------------------
root@debian:~# hwclock -s
-----------------------------------

以上是关于linux时间管理与配置date与hwclock命令的主要内容,如果未能解决你的问题,请参考以下文章

hwclock命令

Linux之简单命令之日期时间命令之date,cal,clock ,hwclock和tzselect

Linux命令篇之hwclock命令和man命令

linux设置服务器时间

linux date/hwclock 命令

linux系统date命令修改时间及hwclock硬件时间