admin 管理员组

文章数量: 1184232

引言

在Linux系统中,有两个重要的时间概念: 系统时间(Software Clock 或 System Time) 硬件时间(RTC, Real-Time Clock 或 Hardware Clock)

目录


一、系统时间

定义:

系统时间是由操作系统内核维护的一个虚拟时钟。它依赖于CPU的时钟周期来计时。
功能:

系统时间用于记录和管理所有与时间相关的操作,比如文件的时间戳、日志记录、定时任务等。它是Linux系统中所有应用程序和服务获取当前时间的主要来源。
特点:

  • 在系统启动时,会根据硬件时间初始化系统时间。
  • 可以通过网络时间协议(如NTP、PTP等)服务定期同步到外部时间服务器,因此通常比硬件时间更准确。
  • 当系统关闭后,系统时间停止计时。

命令:

  • 显示当前日期和时间
date
  • 设置系统日期和时间 date -s "YYYY-MM-DD HH:MM:SS"

其中,MM为月份,DD为日期,hh为小时,mm为分钟,CC为前两位年份,YY为后两位年份,ss为秒。

date -s "20250101 01:01:01"
  • 自定义格式显示时间
date +"%Y-%m-%d %H:%M:%S"

二、硬件时间

定义:

硬件时钟是指计算机主板上的一个物理时钟装置,即使在计算机关闭或断电的情况下也能保持运行,通常由一个小电池供电。
功能:

硬件时钟主要负责保存系统的当前时间和日期,以便在系统启动时提供一个初始的时间设置。
特点:

  • 硬件时钟可以在系统未通电的情况下继续计时。
  • 硬件时钟可能会有轻微的漂移,尤其是在长时间未校准的情况下。
  • 系统启动时,硬件时钟的时间会被用来初始化系统时间。

命令:

  • 查看硬件时间使用命令 hwclock clock

三、同步系统与硬件时间

1、将系统时间写入硬件时钟

使用命令 hwclock --systohc 或简写为 hwclock -w

hwclock -w

2、将硬件时钟设置到系统时间

使用命令 hwclock --hctosys 或简写为 hwclock -s
为了确保系统时间的准确性,通常建议配置NTP服务来自动同步系统时间,并定期将系统时间同步到硬件时钟。这样即使重启系统,也能保证时间的连续性和准确性。

hwclock -s

本文标签: 系统 硬件时钟 编程