Linux常用命令-clock

命令

clock

描述

query or set the hardware clock (RTC)
显示或设置硬件时间

用法

1
hwclock [function] [option...]

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Options:
Functions:
-r, --show 显示硬件时间
--set 配合--date使用,设置RTC时间
-s, --hctosys 同步硬件时间到系统时间
-w, --systohc 同步系统时间到硬件时间
--systz 根据当前时区设置系统时间
-c, --compare 定期比较系统时间和CMOS时间

Options:
-u, --utc 硬件时间使用UTC时间,默认
--localtime 硬件时间使用本地时间
--date <time> 指定硬件时间,如"2020-03-15 10:30:00"
-D, --debug debugging mode

注意

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
$ ll /usr/sbin/*clock 
lrwxrwxrwx. 1 root root 7 Nov 27 05:42 /usr/sbin/clock -> hwclock
-rwxr-xr-x. 1 root root 49600 Oct 1 01:46 /usr/sbin/hwclock

# 查看系统时间
$ date
Sat Feb 20 19:00:06 CST 2021
# 查看硬件时间
$ clock
Sat 20 Feb 2021 07:00:05 PM CST -0.947250 seconds
$ clock --show
Sat 20 Feb 2021 07:00:11 PM CST -0.947609 seconds
# 比较系统时间和硬件时间
$ clock -c
hw-time system-time freq-offset-ppm tick
1613818882 1613818885.098716
1613818893 1613818895.118283 -89130 -891
# 设置硬件时间
$ clock --set --date "20200210 18:00:00"
$ clock
Mon 10 Feb 2020 06:00:04 PM CST -1.042117 seconds
$ date
Sat Feb 20 19:05:16 CST 2021
$ timedatectl set-ntp false
# 同步硬件时间到系统时间
$ clock -s
$ date
Mon Feb 10 18:00:30 CST 2020
# 开启NTP时间同步,系统时间会自动同步NTP服务器上的正确时间
$ timedatectl set-ntp true
$ date
Sat Feb 20 19:05:58 CST 2021
$ timedatectl
# 同步系统时间到硬件时间
$ clock -w
$ clock
Sat 20 Feb 2021 07:06:28 PM CST -0.961553 seconds
$ date
Sat Feb 20 19:06:30 CST 2021

# clockdiff测量与目标主机之间的时间差
$ clockdiff -o1 localhost
host=localhost rtt=750(187)ms/0ms delta=0ms/0ms Sat Feb 20 19:24:04 2021
$ clockdiff -o1 192.168.80.12
host=192.168.80.12 rtt=750(187)ms/0ms delta=-791ms/-791ms Sat Feb 20 19:24:35 2021