我们在使用linux的时候,会经常发现时间不对。一般时间不对的原因有时区不对、或者是时间本身设置错误。
我们可以通过自动同步或者手动设置时间的方式来修改我们的系统时间。
查看系统时间和时区
查看系统的时间
[root@local ~]# date
Wed Sep 2 16:39:18 CST 2020
查看系统的时区
[root@local ~]# date -R
Wed, 02 Sep 2020 16:40:15 +0800
可以看到我现在电脑的时区是东8区
查看详细信息时间
[root@local ~]# timedatectl
Local time: Wed 2020-09-02 16:41:28 CST
Universal time: Wed 2020-09-02 08:41:28 UTC
RTC time: Wed 2020-09-02 08:41:28
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
修改时区
方法1:使用tzselect进行修改
[root@local ~]# tzselect
我们要把时区设置为亚洲→ 中国→ 上海。记住口诀4911
方法2:直接把时区覆盖为上海:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
更改时间
在更改时间这里有自动同步和手动设置两种方法
自动同步
使用ntpdate进行时间同步
安装ntpdate
sudo apt-get install ntpdate
查询ntp服务器的时间
ntpdate -q time.windows.com
同步时间
ntpdate time.windows.com
手动设置时间
date -s 10:23:10
date -s 'Thu, 17 Dec 2015 10:23:10 GMT'
这种方法有一个缺点,就是时间的精度太差
借助网站http请求头部来设置时间
date -s "$(curl -s --head http://www.baiducom | grep ^Date: | sed 's/Date: //g')"
写入硬件时间
linux每次启动都会从硬件加载时间进来,我们需要把当前时间写入硬件以确保下次启动还是这个时间。
查询硬件时间
sudo hwclock -r
把当前时间写入硬件
sudo hwclock -w
最后时间就妥妥的设置好啦!如果本文对你有所帮助,希望点击推荐转发让更多人看到!