用途说明

hwclock命令,与clock命令是同一个命令,主要用来查询和设置硬件时钟(query and set the hardware clock (RTC))。RTC=Real Time Clock,也就是硬件时钟。在Linux中有硬件时钟与系统时钟等两种时钟。硬件时钟是指主机板上的时钟设备,也就是通常可在BIOS画面设定的时钟。系统时钟则是指kernel中 的时钟。所有Linux相关指令与函数都是读取系统时钟的设定。因为存在两种不同的时钟,那么它们之间就会存在差异。根据不同参数设置,hwclock命令既可以将硬件时钟同步到系统时钟,也可以将系统时钟同步到硬件时钟。

关于系统时钟与硬件时钟的关系的说法,网上分成了两种:

第一种:当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

第二种:当Linux启动时,系统时钟会去读取硬件时钟的设定,之后系统时钟即独立运作。

到底那一种才是正确的呢?执行一下man hwclock可以看到里面有一段:

man hwclock 写道

The System Time is the time that matters. The Hardware Clock’s basic purpose in a Linux system is to keep time

when Linux is not running. You initialize the System Time to the time from the Hardware Clock when Linux

starts up, and then never use the Hardware Clock again. Note that in DOS, for which ISA was designed, the

Hardware Clock is the only real time clock.

这段文字说明,第二种说法是正确的,第一种说法是错误的。但网上大部分文章都是第一种说法,所以说,网络虽好,要注意甄别。

man hwclock 写道

It is important that the System Time not have any discontinuities such as would happen if you used the date(1L)

program to set it while the system is running. You can, however, do whatever you want to the Hardware Clock

while the system is running, and the next time Linux starts up, it will do so with the adjusted time from the

Hardware Clock.

如果使用date命令修改了系统时间,并不会自动去修改硬件时钟,因此,当系统下次重启时,系统时钟还会从硬件时钟去取,date设置的时间就无效了。这大概就是为什么需要hwclock命令的原因吧。

常用参数

-r, --show         读取并打印硬件时钟(read hardware clock and print result )

-s, --hctosys      将硬件时钟同步到系统时钟(set the system time from the hardware clock )以硬件时钟为标准

-w, --systohc     将系统时钟同步到硬件时钟(set the hardware clock to the current system time )以系统时间为标准

使用示例

示例一 hwclock命令与clock命令是一个东西

[root@new55 ~]# type -a hwclock

hwclock is /sbin/hwclock

hwclock is /usr/sbin/hwclock

[root@new55 ~]# ls -l /sbin/hwclock /usr/sbin/hwclock

-rwxr-xr-x 1 root root 34096 2010-01-07 /sbin/hwclock

lrwxrwxrwx 1 root root    18 08-13 00:14 /usr/sbin/hwclock -> ../../sbin/hwclock

[root@new55 ~]# type -a clock

clock is /sbin/clock

[root@new55 ~]# ls -l /sbin/clock

lrwxrwxrwx 1 root root 7 08-13 00:14 /sbin/clock -> hwclock

[root@new55 ~]#

示例二 显示硬件时钟

[root@new55 ~]# hwclock

2010年11月06日 星期六 21时09分28秒  -0.134840 seconds

[root@new55 ~]# hwclock -r

2010年11月06日 星期六 21时09分33秒  -0.469123 seconds

[root@new55 ~]# hwclock --show

2010年11月06日 星期六 21时09分45秒  -0.127548 seconds

[root@new55 ~]#

示例三 修改日期并同步到硬件时钟

[root@new55 ~]# date

2010年 11月 06日 星期六 21:11:57 CST

[root@new55 ~]# date 11062112     <== 格式 mmddHHMM,即 月日时分

2010年 11月 06日 星期六 21:12:00 CST

[root@new55 ~]# hwclock -w

[root@new55 ~]# hwclock

2010年11月06日 星期六 21时12分13秒  -0.648818 seconds

[root@new55 ~]#

注:要使系统时间准确,最好还是使用ntp方式。

示例四 使用ntpdate命令从网络同步时间,再同步到硬件时钟

ntpdate命令是使用NTP协议来从网络同步时间的命令。NTP=Network Time Protocol 网络时间协议。

[root@new55 ~]# ntpdate 0.rhel.pool.ntp.org

6 Nov 21:17:55 ntpdate[4829]: step time server 123.146.124.28 offset -1.025258 sec

[root@new55 ~]# date

2010年 11月 06日 星期六 21:17:59 CST

[root@new55 ~]# hwclock -w

[root@new55 ~]#

问题思考

1. 为什么Linux要将时钟分为系统时钟和硬件时钟,这样做有什么好处?

linux系统运行hwclock报错,我使用过的Linux命令之hwclock - 查询和设置硬件时钟相关推荐

  1. linux命令hwclock,Linux命令之hwclock - 查询和设置硬件时钟

    常用参数 -r, --show         读取并打印硬件时钟(read hardware clock and print result ) -s, --hctosys      将硬件时钟同步到 ...

  2. 我使用过的Linux命令之hwclock - 查询和设置硬件时钟

    我使用过的Linux命令之hwclock - 查询和设置硬件时钟 本文链接:http://codingstandards.iteye.com/blog/804830   (转载请注明出处) 用途说明 ...

  3. linux系统sql语句报错_在linux下写的mysql无法插入,sql语句在复制中变'脏'了.

    1:问题故障描述 因为在linux下开发,所以修改mysql字段的时,用的phpmyadmin来直接修改生成修改后的sql,然后复制进word(libreoffice)后提交到项目管理系统, 同事发到 ...

  4. linux 32位系统运行eclipse报错:eclipse: symbol lookup error,.so: undefined symbol: XXXg_bus_own_name

    接上一个文章寻找合适的eclipse linux32位软件安装包之后https://blog.csdn.net/fighting_Kitty/article/details/127412246,运行e ...

  5. linux部署jar项目报错_Spring boot项目部署linux系统tomcat报错解决办法

    一.问题出现的场景: 一个Spring boot项目,使用log4j打印日志,在windows tomcat中部署正常启动,但是在linux系统中部署到tomcat 中时报了如下的错误:java.io ...

  6. win10启动内置Linux系统时,报错:WslRegisterDistribution failed with error: 0x800703fa

    安装和启动 旧版本的 win10 需要在"控制面板->程序->启用或关闭Windows功能"勾选"适用于Linux的Windows子系统(Beta)" ...

  7. Linux系统创建文件报错“E297: Write error in swap file“

    异常 突然发现无法在Linux系统下创建文件了,在任何目录下创建文件,更准确的说法是可以创建文件但是不能向文件写入内容,无论写入什么该文件的大小都为0. 后面执行vim abc.txt创建文件,发现报 ...

  8. 鬼泣4计算机丢失xinput,Win7系统运行游戏报错“计算机丢失XINPUT1-3.dll”

    如今,很多用户都是骨灰级的游戏玩家,因此对电脑的要求配置都比较高.特别是电脑故障时游戏玩家最不能忍受的,游戏正到高潮,电脑出现故障,想想是多么令人难受的.今天U大侠小编就带大家一起来看看win7系统下 ...

  9. linux系统sql语句报错_如果数据库管理工具1045错误出现在Linux系统中怎么

    原标题:如果数据库管理工具1045错误出现在Linux系统中怎么 连接MySQL数据库时难免会遇到1045错误,主要是因为用户输入的用户名或密码错误被拒绝访问,如果不想重装,需要找回密码或者重置密码. ...

最新文章

  1. 对话创新工场陶宁:AI步入深水区下的投资逻辑
  2. 【转】推荐计算机科学类的经典书籍 3
  3. Python3NumPy——数组(2)之数学空间与NumPy空间
  4. mac下对NTFS格式的磁盘进行读写操作
  5. Azure 国际版与中国版服务列表对(2020年6月版)
  6. android自动回复退订,Android实现短信自动回复,挂电话
  7. 实践案例丨基于Raft协议的分布式数据库系统应用
  8. Entity Framework 4.3尝试体会
  9. Shp上传至Oracle Spatial
  10. python label字体_Matplotlib xlabel,Arial格式,带一个斜体字
  11. 用VC进行64位编程
  12. 输入三角形边长,求面积
  13. Partial Multi-Label Learning(PML)-文献学习
  14. JAVA学习homework的Car、Bus、motoVehicle
  15. 计算机word文档快速打数字,word快速提取纯数字
  16. 45. Django 2.1.7 项目技巧 - 创建apps应用目录归纳所有应用
  17. HPM6750EVK 硬件通读与例程通跑 1
  18. C++面试知识点搜集
  19. 连接宽带出现:调制解调器出现一个错误
  20. C# 证件照替换底色、设置背景图

热门文章

  1. 金融科技大数据产品推荐:Chinapex创略智能客户数据平台——开启智慧营销之旅
  2. #1122 : 二分图二•二分图最大匹配之匈牙利算法
  3. 利用阿里大于(大鱼)平台进行发送手机验证码
  4. 重庆人文科技学院计算机科学与技术好不好,重庆人文科技学院专业评价
  5. 基于Layui和eleTree的穿梭搜索树
  6. 解决word分栏左边未填充满就换到右边去
  7. byte转int出现负数的情况
  8. grunt uglify 入门
  9. matlab (t)傅里叶,傅里叶分析matlab程序.pdf
  10. 《编码.藏匿在计算机软硬件背后的语言》读书笔记01-10