- Linux运维实战:CentOS7.6操作系统从入门到精通
- 申建明
- 859字
- 2020-08-27 19:32:49
3.3 系统时间管理
在Linux中,时钟分为硬件时钟和系统时钟。硬件时钟指主机板上的时钟设备,就是可在BIOS画面设定的时钟,系统时钟指Kernel中的时钟,所有Linux相关指令与函数都是读取系统时钟的设定。
当Linux启动时,系统时钟会读取硬件时钟的设定,之后系统时钟独立运作。
3.3.1 两种时钟
在计算机中,时间是靠“晶体振荡器”来实现的,晶体振荡器需要依靠电力才能振荡起来,在计算机主板中有一个纽扣电池可维持晶体振荡器的振荡,从而实现计算机在关机断电后,时间也不会出现错乱,这种时钟称为硬件时钟,也称为实时时钟(RTC)。在Windows系统中,每次启动时都会读取硬件时钟的当前时间,然后设置为当前的系统时间,在电池没有电的情况下,时间会出现不正确的现象,此时需要手动调整。
Linux与Windows有所不同,Linux会通过RTC读取当前时间,一旦读取成功后就不再读取RTC时间,因为读取成功以后Linux内核会通过软件的方式模拟振荡器的振荡,在系统内部维持时间,所以,Linux开机以后会有硬件时钟和系统时钟两个时钟。
只要Linux在运行当中,就会在CPU的作用下自动进行计时。系统时钟有可能因为CPU繁忙而导致计时准确率下降,硬件时钟在电池的供电下会一直保持准确性。
1.查看硬件时间
命令:hwclock。
作用:查看或修改硬件时间。
命令使用格式:hwclock [选项]。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00156.jpg?sign=1739460920-wTfEmjjlBIvnkjwn2I9RVHpdvzUUmGUf-0-feb84605188436ac5811bf10ea758119)
2.手动修改硬件时间和系统时间
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00157.jpg?sign=1739460920-c3aHYQuzyfv4BOjvUns5lCSqpMTODupg-0-02bb7b3442da064cdc5db5be83efe934)
3.查看系统时间
命令:date。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00158.jpg?sign=1739460920-Xc3KPn8Ksvmzh2YcawvTXFIx4fqkkqrv-0-3df9f9dc1a9184ada91e422d27d1764e)
时区:
UTC(Universal Time Coordinated):世界标准时间。
GMT(Greenwich Mean Time):格林威治标准时间。
CST(China standard Time):中国标准时间。
4.使用date命令修改时间
命令使用格式:date [选项]。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00159.jpg?sign=1739460920-yXZHbH5OaWiSBwtOdJGMDwAKl93DFRI1-0-807ef7706542aa6053caabe45662e4cc)
使用-s或--set=STRING参数把时间设为字符串所描述的时间。
例3.5:查看和修改时间示例。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00160.jpg?sign=1739460920-lMHsg15P2VrmA8KZMNBxXGQZeaXUb5Um-0-8c2006d6aa58133bb7e2e0657d8fcb33)
2018年11月02日 星期五 22:30:00 CST
date命令指定显示日期和时间格式的方法如下。
%F:完整日期格式,等价于 %Y-%m-%d。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00161.jpg?sign=1739460920-Kb4RXtQYvTMw9x4YyyZ9geE7tT98R8uV-0-5369736be0326b9c07bf8f87513d54ed)
%y:年份最后两位数字,范围是00~99。
%Y:年份。
%m:月份,范围是01~12。
%d:按月计的日期(如01)。
%M:分,范围为00~59。
%H:小时,范围是00~23。
%S:秒,范围是00~60。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00162.jpg?sign=1739460920-EHqcjchzZdkpC3Hz7uSmMFYXxGKLs3rx-0-52060d264950667c47f39e0f91989871)
3.3.2 time命令
作用:一般用来测量一个命令的运行时间。
使用方法:在time后面直接跟上命令和参数。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00164.jpg?sign=1739460920-QARDP0OPGee518lKhTbbMulMuISYrCFE-0-977ec12a3ba4239f2cdab926e5f4cd31)
说明如下。
(1)real:实际使用时间。
(2)user:用户状态使用的时间。
(3)sys:内核状态使用的时间。