![Linux运维实战:CentOS7.6操作系统从入门到精通](https://wfqqreader-1252317822.image.myqcloud.com/cover/270/29126270/b_29126270.jpg)
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=1738886093-2c4qjDCJT6ihpcugJZa2eW3u4jbxDs4h-0-4d2229bb37a12e7041240f2dfe1df14a)
2.手动修改硬件时间和系统时间
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00157.jpg?sign=1738886093-OwkKpha3YGv6vKuMOrOW7fPcTqyupxbN-0-011d3d517fb69b9eb4f6e14e2ee424d4)
3.查看系统时间
命令:date。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00158.jpg?sign=1738886093-uLSuqCKZ9XvV5Lb5GIygz7y6SSLxF4hB-0-231e9dea9c63b0589020c6ac9c43f4d3)
时区:
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=1738886093-rFHYyX2p4a0oH4BvNG3CjY8tjXjfwCn1-0-d5a32e3eea40e9e70871843ebdc64551)
使用-s或--set=STRING参数把时间设为字符串所描述的时间。
例3.5:查看和修改时间示例。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00160.jpg?sign=1738886093-J515jFMgL4ATjN3PlplkrwXEefugzrJd-0-3cc1185285b20937b0a1b697c257da90)
2018年11月02日 星期五 22:30:00 CST
date命令指定显示日期和时间格式的方法如下。
%F:完整日期格式,等价于 %Y-%m-%d。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00161.jpg?sign=1738886093-j9LJgrTnnUlb7tnsWLqfoTdzTQ9UyDJJ-0-f01aeb71a9b49a4eb2c0cffea3aba048)
%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=1738886093-EnP1XPI7QjuNAzlkquIaPDjbpDwoFNhc-0-0d11f21d93cd592fc4ceeef659a4505e)
3.3.2 time命令
作用:一般用来测量一个命令的运行时间。
使用方法:在time后面直接跟上命令和参数。
![](https://epubservercos.yuewen.com/D4BD0D/16264452404205206/epubprivate/OEBPS/Images/aa00164.jpg?sign=1738886093-PAOvpBMq6T4XScwWKPr93lXB3umenglV-0-715c0bb88917f56b94daea5367c1be61)
说明如下。
(1)real:实际使用时间。
(2)user:用户状态使用的时间。
(3)sys:内核状态使用的时间。