一、date命令
date命令是Linux中最基本的时间查看和设置命令,它可以显示和设置系统的日期和时间。
查看当前系统的日期和时间可以直接输入date命令:
$ date Thu Sep 9 09:17:32 CST 2021
date命令输出的信息包括星期几、月份、日期、时间、时区和年份。其中CST表示当前系统所在的时区为中国标准时间。
如果需要只查看当前的日期可以加上参数+%F:
$ date +%F 2021-09-09
如果需要只查看当前的时间可以加上参数+%T:
$ date +%T 09:22:13
二、hwclock命令
hwclock命令用于显示和设置系统硬件时钟时间。硬件时钟是一种可以独立运行的时钟,即使系统关机也可以持续进行计时,它通常被用作系统启动时的时间来源。
查看当前系统的硬件时钟时间可以直接输入hwclock命令:
$ sudo hwclock Thu 09 Sep 2021 09:24:45 AM CST -0.151918 seconds
在Linux中,系统时间和硬件时间可以不一致,不同的系统可能会有不同的时钟同步方式。一般情况下,我们需要通过NTP协议同步系统时间和硬件时间,以确保它们的一致性。
三、timedatectl命令
timedatectl命令可以显示和设置系统时间和时区信息。
查看当前系统的时区可以直接输入timedatectl命令:
$ timedatectl Local time: 四 2021-09-09 09:27:21 CST
Universal time: 四 2021-09-09 01:27:21 UTC
RTC time: 四 2021-09-09 01:27:21
Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
其中,Time zone表示当前系统所在的时区为亚洲/上海,以及时差+0800小时。
如果需要修改系统时区,可以运行如下命令:
$ sudo timedatectl set-timezone Asia/Shanghai
四、ntpdate命令
ntpdate命令用于从NTP服务器同步系统时间。
查看系统时间是否与NTP服务器同步可以直接输入ntpdate命令:
$ sudo ntpdate -q 1.cn.pool.ntp.org server 112.65.244.6, stratum 2, offset 0.002247, delay 0.06604
9 Sep 09:31:12 ntpdate[31406]: adjust time server 112.65.244.6 offset 0.002247 sec
其中,112.65.244.6是NTP服务器的IP地址,ntpdate命令会查询该服务器并返回系统时间与服务器时间的差距(offset)。如果系统时间与NTP服务器的时间一致,则说明系统时间已经同步成功。
五、chronyc命令
chronyc命令是chrony软件包中的一个命令行工具,它可以用于设置、查询和调试chrony守护进程。
使用chronyc命令查看NTP服务器的同步状态:
$ chronyc sources 210 Number of sources = 4 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* cn.ntp.org 2 6 374 406 -4ms[ -4ms] +/- 25ms ^+ time.nist.gov 1 6 377 407 -78ms[ -78ms] +/- 21ms ^+ ntp1.aliyun.com 2 6 1 46 -11ms[ -44ms] +/- 170ms ^+ time.cloudflare.com 2 6 1 58 +32ms[ +32ms] +/- 859us
其中,^*表示当前所用的NTP服务器,以及它与系统时间的时间差(-4毫秒),+表示NTP服务器与系统时间的时间差小于1秒。
如果需要修改chrony配置文件,可以运行如下命令:
$ sudo vi /etc/chrony.conf
在chrony.conf中可以进行如下配置:
# NTP服务器列表 server cn.pool.ntp.org server time.nist.gov # 允许本地安全访问 allow 192.168.0.0/24
六、总结
本文介绍了常用的Linux时间查看命令,它们各自具有不同的功能和适用场景,可以根据实际需要进行选择和使用。确保系统时间的准确性和一致性对于系统的正常运行以及日志的准确记录都非常重要。