You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
# **hwclock**
## 说明
**hwclock命令** 用于调整RTC(real_time clock)时间, Linux还有个系统时间(wall time)
RTC是电脑内建的硬件时间, 执行这项指令可以显示现在时刻, 调整硬件时钟的时间, 将系统时间设成与硬件时钟之时间一致, 或是把系
统时间回存到硬件时钟
在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备, 也就是通常可在BIOS画面设定的时钟。系统时钟则是
指kernel中的时钟。当Linux启动时, 系统时钟会去读取硬件时钟的设定, 之后系统时钟即独立运作。所有Linux相关指令与函数都是读取
系统时钟的设定
## 选项
```markdown
clock命令和hwclock相同
hwclock [功能] [选项...]
功能:
-h, --help 显示此帮助并退出
-r, --show 读取硬件时钟并打印结果
--set 将 RTC 设置为--date指定的时间,设定硬件时钟; hwclock --set --date='28/3/2018 12:34:00'
-s, --hctosys 从硬件时钟设置系统时间,即将系统时钟调整为与目前的硬件时钟一致
-w, --systohc 从当前系统时间设置硬件时钟,即将硬件时钟调整为与目前的系统时钟一致
--systz 基于当前时区设置系统时间
--adjust 根据自上次时钟设置或调整后的系统漂移来调整RTC,hwclock每次更改硬件时钟都会记录在/etc/adjtime中
-c, --compare 定期将系统时钟与 CMOS 时钟相比较
--getepoch 打印内核的硬件时钟纪元(epoch)值
--setepoch 将内核的硬件时钟纪元(epoch)值设置为
--epoch 选项指定的值
--predict 预测 --date 选项所指定时刻读取到的 RTC 值
选项:
-u, --utc 硬件时钟保持为 UTC 时间
--localtime 硬件时钟保持为本地时间
-f, --rtc < 文件> 代替默认文件的特殊 /dev/... 文件
--directisa 直接访问 ISA 总线,而非 /dev/rtc,若无法存取时, 可用此参数直接以I/O指令来存取硬件时钟
--badyear 忽略 RTC 年份(由于 BIOS 损坏)
--date < 时间> 指定要设置的硬件时钟时间
--epoch < 年> 指定作为硬件纪元(epoch)值起始的年份
--noadjfile 不访问 /etc/adjtime; 需要使用 --utc 或 --localtime 选项
--adjfile < 文件> 指定调整文件的路径;
默认为 /etc/adjtime
--test 不更新,只显示将进行什么操作
-D, --debug 调试模式
```
## 实例
```bash
# 设置硬件时间要依赖于操作系统时间,具体方法如下:
hwclock -systohc
hwclock --systohc --utc
hwclock # 不加任何参数使用hwclock, 可以查看当前的硬件日期和时间
# 查看clock文件, 确认是否设置了UTC: UTC=yes表示已设置
cat /etc/default/rcS
cat /etc/sysconfig/clock # 在其他一些版本的Linux( 如RebHat) 中可以这样查看
```