Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解

  • 导言
  • hwclock命令
    • 作用
    • 描述
    • 用法
    • 详细全选项参数解释
    • 常用选项
      • -r选项show
    • -w选项
    • 实践 - 验证clock和hwclock是一个命令
    • 实践二-查看采用的时区和时间格式
  • 总结

导言

上文,我们讲述了cd命令,本文讲述hwclock命令。该命令用来查询或设置硬件时钟。

你可以通过BIOS修改系统硬件时钟,或者如果你不想重起机器,那就用hwclock命令。(需求的来源)

clock命令其实也是hwclock命令

hwclock命令

作用

查询或设置硬件时钟(RTC)

描述

hwclock命令是一个硬件时钟访问工具,它可以显示当前时间、设置硬件时钟的时间和设置硬件时钟为系统时间,也可设置系统时间为硬件时钟的时间。

在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中的时钟。当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。所有Linux相关指令与函数都是读取系统时钟的设定。

既然Linux有两个时钟系统,那么大家所使用的Linux默认使用哪种时钟系统呢?会不回出现两种系统时钟冲突的情况呢?这些疑问和担心不无道理。首先,Linux并没有默认哪个时钟系统。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

从Linux启动过程来看,系统时钟和硬件时钟不会发生冲突,但Linux中的所有命令(包括函数)都是采用的系统时钟设置。不仅如此,系统时钟和硬件时钟还可以采用异步方式,即系统时间和硬件时间可以不同。这样做的好处对于普通用户意义不大,但对于Linux网络管理员却有很大的用处。例如,要将一个很大的网络中(跨越若干时区)的服务器同步,假如位于美国纽约的Linux服务器和北京的Linux服务器,其中一台服务器无须改变硬件时钟而只需临时设置一个系统时间,如要将北京服务器上的时间设置为纽约时间,两台服务器完成文件的同步后,再与原来的时钟同步一下即可。这样系统和硬件时钟就提供了更为灵活的操作。

在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不过clock命 令除了支持x86硬件体系外,还支持Alpha硬件体系。由于目前绝大多数用户使用x86硬件体系,所以可以视这两个命令为一个命令来学习。

注意

当你使用hwclock命令调整硬件时间很多次以后,hwclock就会获取你的时钟推移速率,然后就会把这个信息存在/etc/adjtime里边。

用法

 hwclock [功能] [选项...]

详细全选项参数解释

短选项 长选项 含义(作用)
-h --help 显示帮助并退出
-r --show 读取硬件时钟并打印结果
--set 将 RTC 设置为 –date 指定的时间
-s --hctosys 从硬件时钟设置系统时间
-w --systohc 从当前系统时间设置硬件时钟
--systz 基于当前时区设置系统时间
--adjust 根据自上次时钟设置或调整后的系统漂移来调整 RTC
-c --compare 定期将系统时钟与 CMOS 时钟相比较
--getepoch 打印内核的硬件时钟纪元(epoch)值
--setepoch 将内核的硬件时钟纪元(epoch)值设置为–epoch 选项指定的值
--predict 预测 –date 选项所指定时刻读取到的 RTC 值
-V --version 显示版本信息并退出
-u --utc 硬件时钟保持为 UTC 时间
--localtime 硬件时钟保持为本地时间
-f --rtc <文件> 代替默认文件的特殊 /dev/… 文件
--directisa 直接访问 ISA 总线,而非 /dev/rtc
--badyear 忽略 RTC 年份(由于 BIOS 损坏)
--date <时间> 指定要设置的硬件时钟时间
--epoch <年> 指定作为硬件纪元(epoch)值起始的年份
--noadjfile 不访问 /etc/adjtime;需要使用 –utc 或 –localtime 选项
--adjfile <文件> 指定调整文件的路径;默认为 /etc/adjtime
--test 不更新,只显示将进行什么操作
-D --debug 调试模式

常用选项

-r选项(show)

该命令用于读取硬件时钟并打印结果

[root@pro_master ~]# hwclock --show
Mon 19 Sep 2016 09:02:15 PM CST  -0.168728 seconds
[root@pro_master ~]# hwclock -r
Mon 19 Sep 2016 09:02:23 PM CST  -0.809535 seconds
[root@pro_master ~]# hwclock
Mon 19 Sep 2016 09:02:35 PM CST  -0.943869 seconds

Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解_第1张图片

-w选项

从当前系统时间设置硬件时钟

Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解_第2张图片

实践 - 验证clock和hwclock是一个命令

[tqw@localhost c]$ type hwclock 
hwclock 已被哈希 (/usr/sbin/hwclock)
[tqw@localhost c]$ ls -l /usr/sbin/hwclock 
-rwxr-xr-x. 1 root root 45304 821 2015 /usr/sbin/hwclock
[tqw@localhost c]$ type -a hwclock 
hwclock 是 /usr/sbin/hwclock
hwclock 是 /sbin/hwclock
[tqw@localhost c]$ type -a clock
clock 是 /usr/sbin/clock
clock 是 /sbin/clock
[tqw@localhost c]$ ls /usr/sbin/clock
/usr/sbin/clock
[tqw@localhost c]$ ls -l /usr/sbin/clock
lrwxrwxrwx. 1 root root 7 87 08:31 /usr/sbin/clock -> hwclock
[tqw@localhost c]$ ls -l /sbin/clock
lrwxrwxrwx. 1 root root 7 87 08:31 /sbin/clock -> hwclock

Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解_第3张图片

clock是指向hwclock命令的链接,指向clock实际上是指向hwclock。

实践二-查看采用的时区和时间格式

查看locale.conf文件,确认是否设置了UTC和时区:

[tqw@localhost etc]$ cat locale.conf 
LANG="zh_CN.UTF-8"

这里写图片描述

总结

本次的命令是hwclock,注意,该命令需要root权限下进行。系统时间的查看是用date命令,关于该命令,将于下一次文章讲述。

你可能感兴趣的:(linux,red,hat,hwclock,clock,命令详解,硬件时钟)