首页 > 系统相关 >Linux与window时钟时区流程和一些小细节

Linux与window时钟时区流程和一些小细节

时间:2023-06-02 12:22:29浏览次数:49  
标签:clock root window Linux NTP com 时钟

Linux与window时钟时区流程和一些小细节

Linux修改时钟两种:手动和联网

手动:date命令

[root@haha sysconfig]# date #显示当前系统时钟
2023年 05月 31日 星期三 18:00:07 CST
[root@haha sysconfig]# date -d "+2month" #显示现在时钟经过计算后的时钟,不会改变系统时钟,说白了就是帮自己计算一下时间
2023年 07月 31日 星期一 18:02:28 CST
[root@haha sysconfig]# date -s "2018-01-01 23:12:34" #设置系统时钟,会改变系统时钟。
2018年 01月 01日 星期一 23:12:34 CST
[root@haha sysconfig]# date +"%Y%m%d" #按照这个格式显示当前系统时钟(不同的字母代表不同的含义具体看手册man)
20180101
[root@haha sysconfig]# date +"%Y-%m-%d %H:%M:%S" #可以添加符号输出(不同的字母代表不同的含义具体看手册man)
2018-01-01 23:16:41

联网:ntpdate 好像还有个chrony是服务器时间同步的主要工具,两者的主要区别就是

执行ntpdate 后,时间是立即修整,中间会出现时间断档;

而执行chrony后,时间也会修正,但是是缓慢将时间追回,并不会断档。这里只说ntpdate,chrony另行百度

ntpdate -u cn.pool.ntp.org #注意这里要加-u参数,不然可能会报no server suitable for synchronization found  (国家授时中心210.72.145.44已经连接不上!可以用其他ntp源)
国内:
cn.pool.ntp.org  中国开源免费NTP服务器
ntp1.aliyun.com 阿里云NTP服务器
ntp2.aliyun.com 阿里云NTP服务器
time1.aliyun.com 阿里云NTP服务器
time2.aliyun.com 阿里云NTP服务器
国外:
time1.apple.com 苹果NTP服务器
time2.apple.com 苹果NTP服务器
time3.apple.com 苹果NTP服务器
time4.apple.com 苹果NTP服务器
time5.apple.com 苹果NTP服务器
time1.google.com 谷歌NTP服务器
time2.google.com 谷歌NTP服务器
time3.google.com 谷歌NTP服务器
time4.google.com 谷歌NTP服务器
pool.ntp.org 开源免费NTP服务器
来源:https://www.cnblogs.com/luchuangao/p/7795293.html
###############################开始操作########################################33
31 May 23:07:50 ntpdate[40193]: step time server 185.209.85.222 offset 170708673.093979 sec
[root@haha sysconfig]# date     #系统时钟
2023年 05月 31日 星期三 23:09:20 CST
[root@haha sysconfig]# hwclock  #硬件时钟也可以用clock命令
2023年06月01日 星期四 23时09分29秒  -0.683149 秒
[root@haha sysconfig]# clock		
2023年06月01日 星期四 23时09分45秒  -0.386856 秒
[root@haha sysconfig]# clock -w  #将系统时钟写进硬件时钟硬件时钟命令具体看下面解释
###############################################################################
你问我为什么要把系统时钟写进硬件时钟?因为现在只是把系统时钟修改了,而系统重新启动后是需要硬件时钟(RTC)作为参考依据的,毕竟系统关机后系统停止运行系统时钟停止了。(虽然系统可能关机的时候会把系统时钟自动写进硬件时钟中。。。。)
hwclock   或者clock   clock与hwclock相同
[root@localhost ~]# type -a hwclock
hwclock is /sbin/hwclock
hwclock is /usr/sbin/hwclock
[root@localhost ~]# ll /sbin/hwclock /usr/sbin/hwclock 
-rwxr-xr-x. 1 root root 46940 11月 22 23:27 /sbin/hwclock
lrwxrwxrwx. 1 root root    18 3月  26 19:27 /usr/sbin/hwclock -> ../../sbin/hwclock
[root@localhost ~]# type -a clock
clock is /sbin/clock
[root@localhost ~]# ll /sbin/clock 
lrwxrwxrwx. 1 root root 7 3月  26 19:27 /sbin/clock -> hwclock

下面是常见命令用法
-r, --show        读取并打印硬件时钟(read hardware clock and print result)
-s, --hctosys     将硬件时钟同步到系统时钟(set the system time from the hardware clock)
-w, --systohc     将系统时钟同步到硬件时钟(set the hardware clock to the current system time)


修改完以后可能还有坑

因为时区问题,一般来说个人用户(不用双系统不用虚拟机或服务器)是不会因为系统时间而感到苦恼的,毕竟只要有网操作系统自动解决。所以这里以双系统为例说一下:Linux与windows时间不一样。

计算机硬件本身是有时钟的(上面说了,BIOS更准确的说是RTC)实时时钟(RTC)芯片是普遍应用在集成电路上的一个模块,采用内置的高精度晶体振荡器作为时钟源,在PC和服务器中,为了保证RTC在主机断电后还可以继续保持运转,整机厂商还会在主板上焊接电池模块对RTC进行供电。也就是说,对于一个整机设备而言,RTC芯片是一切时间的来源。
i2c总线是集成电路上的一种通信链路,连接集成商电路上各个硬件模块,在本文中主要是用于连接主机(BIOS)和RTC芯片,通常情况下,系统关机时CPU会清空其寄存器,这就导致了设备在再一次启动时,会通过i2c总线初始化访问RTC。(主板上有个电池是维持主板时间的能源,如果没电了硬件不通电时间就乱了,一般恢复出厂时间)
粗略的逻辑如下图所示:

所以系统时间来自于此(毕竟不开机系统时间就停止),对于windows来说,开机从硬件得到的时间就是本地区的时钟(当然也可以设置),所以没什么可以动的,那就只能是linux了。

对Linux而言是否把硬件时间作为本地时区要看是否设置了UTC=true,这个设置在/etc/sysconfig/clock 文件(有的Linux系统可能没有(一般rehat有),vim直接添加就是)

[root@localhost ~]# /etc/sysconfig/clock

#打开clock文件,将相关内容改成以下内容
UTC=false #协调世界时
ARC=false
ZONE="Asia/Shanghai"
###上面是文件内容###
###下面是来源于网络注释###
ZONE=Asia/Shanghai;/usr/share/zoneinfo 下面的文件。
UTC=false; 硬件时钟是否为 UTC 或者说 GMT 时钟。
ARC=false;如果是在 Alpha 机器上,则设置为 true 。
把硬件时钟设置为 UTC 的好处就是他能自动设置夏时制,缺点时,在安装有多重操作系统启动的机器上,在另外的操作系统上时钟会错误。

Linux 的时钟设置文件为:/etc/localtime ,实际上这个文件是 /usr/share/zoneinfo 目录下对应文件的符号连接。假设我们所处的地区位于上海,那么只要运行以下的命令就可以设置时区了。

,我猜测如果没有设置为false那么Linux就会把硬件时钟作为UTC,然后Linux经过时区计算,将系统显示为本地时区的时间,如果为false那么应该就直接把硬件时钟作为本时区时钟,所以问题就出来了如果UTC=true(硬件时间=windows时钟!=Linux经过转换时钟,那么windows与Linux双系统就会相差约8小时,linux>windows时间8小时)。还有就是Linux没有所谓的北京时间,只有所谓的IANA互联网数字分配机构)的时区数据库(Time Zone Database)作为系统的时区。在该数据库中,中国地区的IANA标准时区有四个——上海、香港、澳门和台北,因此“北京时间”在Linux系统里面本质上是没有的,所以映射为上海时区。

上面如果没有设置ZONE那么就还存在时区问题(毕竟虽然解决的Windows与Linux时钟不一样的问题,但如果用Linux计算其他时区时钟时就会混乱,毕竟不知道“本地时区”是不是真本地时区。)

除了上面的更改时区的方式还有一个tzselect命令(注t=time,z=zone,应该是这样)

[root@localhost ~]# tzselect #按照提示进行选择时区(上面说过没有所谓的北京时区,只有IANA时区数据库)
[root@localhost ~]# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#或者直接连接过去。

本篇部分来自网络上的大佬们的分享,为此感谢。如果有错误之处大佬们希望指出。

Linux 系统时间和硬件时间 - Dus - 博客园 (cnblogs.com)

Linux系统时间和硬件时间设置 - Οo白麒麟оΟ - 博客园 (cnblogs.com)

Linux系统时间、系统时区和时钟同步的部分理解_木下-俱欢颜的博客-CSDN博客

标签:clock,root,window,Linux,NTP,com,时钟
From: https://www.cnblogs.com/heha/p/17451415.html

相关文章

  • windows10安装Sinpaste失败的解决
    1、小背景:安装Sinpaste的时候想直接通过MicrosoftStore进行安装,但是电脑的系统更新被禁止了,MicrosoftStore安装失败错误信息如下:2、解决1:尝试直接在官网下载一个Sinpaste就行了3、新问题:解压Snipaste官网下载的安装包之后,发现点击snipaste应用程序运行不起来。......
  • Linux Shell常用小技巧
    1.批量替换文件中匹配字符串sed-i's/@[^<]*<<//g'/path/to/directory/*.sh-i表示在原始文件中直接修改,而不是输出到标准输出s/表示替换操作的开始@[^<]*<<正则表达式,以@开头,零个或者多个非<字符,<<结尾//表示替换成空字符,也表示删除g表示全局替换,即文件中的每一处......
  • jenkins连接windows实现远程传递文件
    很多场景需要在windows部署程序,这就需要在jenkins中连接windows服务器,从远程发送命令到windows。很多IT工作都是及简单的需求,但对于不经常做的IT人员就需要发费很多时间,并且耽误进度,无法得到上级的认可。因此类似这些问题我们都会总结成文,以便可续不在踩坑耽误时间。如用jenkins连......
  • 从小白到大佬!入门Linux系统收发网络数据包的秘密!
    Linux服务器收到网络数据包,需求经过哪些处置,一步步将数据传给应用进程的呢?应用进程发送数据包时,Linux又是如何操作将数据包发送进来的呢?今天我们就来聊聊这个话题。在准备好接纳网络数据包之前,Linux需求做很多准备工作,例如:网络子系统的初始化、协议栈的注册、网卡驱动的初始化、......
  • Android 12 Window ViewRootImpl Activity的关系
    1Window和ViewRootImpl有什么关系?看右侧流程图,上层的UI大体分成两大类,一是Activity,另一类是CustomWindow(如状态栏、toast等)。但是他们都要经过WindowManager.addView这个接口添加到系统中。经过WindowManagerGlobal,会new一个ViewRootImpl,ViewRootImpl会申请server端的Sessio......
  • Windows 下 JNA 调用动态链接库 dll
    1.创建动态链接库项目创建jnaTest项目下一步中填写项目名称和存储的目录;然后直接创建即可创建结果2.定义头文件#pragmaonce#ifndefJNA_TEST_H#defineJNA_TEST_H#ifdef__cplusplusextern"C"{#endif__declspec(dllexport)intadd(inta,intb);__declspec......
  • 远程登录Linux服务器
    目录一、所需软件二、软件安装三、Xshell远程连接Linux公网一、所需软件Xshell软件,Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及MicrosoftWindows平台的TELNET协议。从国内网搜到的一般是需要付费的版本,可以从国外网址获得free-for-home-school版本。网址:http......
  • Xfpt实现本地与远程Linux端的文件传输
    目录一、所需软件二、软件安装三、文件的远程上传和下载一、所需软件Xftp是一个功能强大的SFTP、FTP文件传输软件。使用了Xftp以后,MSWindows用户能安全地在UNIX/Linux和WindowsPC之间传输文件。网址:https://www.xshell.com/zh/free-for-home-school/我所使用的Linux......
  • linux下查看IP域名端口的网络是否相通命令
     linux查看IP、域名、端口的网络是否相通1.ping#检索当前域名对应的IP地址ping域名#查看IP是否相通pingIP2.tlenet#查看指定IP的端口是否相通,http默认端口为80,https默认端口为443telnetip/域名port3.wget#查看地址是否可以链接wgetip:端口4.nslo......
  • Linux常用命令-unzip命令详解!
    在Linux系统中命令有很多,可进行磁盘管理、文件管理、文件传输、文档编辑等,而且相同功能的命令也有很多,比如解压缩命令,常用的有:tar、gzip、bzip2、zip、unzip、rar、unrar等,本文为大家详细介绍一下unzip命令,一起来看看吧。Linuxunzip命令用于解压缩zip文件。unzip为.zi......