您的位置:首页 > 运维架构 > Linux

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

2016-09-19 21:41 211 查看
导言

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




-w选项

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



实践 - 验证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 8月  21 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 8月   7 08:31 /usr/sbin/clock -> hwclock
[tqw@localhost c]$ ls -l /sbin/clock
lrwxrwxrwx. 1 root root 7 8月   7 08:31 /sbin/clock -> hwclock




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

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

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

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




总结

本次的命令是hwclock,注意,该命令需要root权限下进行。系统时间的查看是用date命令,关于该命令,将于下一次文章讲述。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: