date 指令
date 指令
Linux date 命令可以用来显示或设定系统的日期与时间,
显示当前日期
在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记,比如:
|
|
|
|
显示完整的时间
|
|
显示数字日期,年份两位数表示
|
|
显示日期,年份用四位数表示
|
|
显示 24 小时的格式
|
|
具体的标记请查看:Linux date 命令 | 菜鸟教程
当您不希望出现无意义的 0 时 (比如说 1999/03/07),则可以在标记中插入 - 符号,比如说 date '+%-H:%-M:%-S'
会把时分秒中无意义的 0 给去掉,像是原本的 08:09:04
会变为 8:9:4
。
其实日常使用,直接输入date
就足够了
|
|
|
|
设置日期
|
|
若是不以加号作为开头,则表示要设定时间,而时间格式为 MMDDhhmm[[CC]YY][.ss]
,其中 MM 为月份,DD 为日,hh 为小时,mm 为分钟,CC 为年份前两位数字,YY 为年份后两位数字,ss 为秒数。
例如
date -s "2020-11-03 20:02:10"
:设置系统当前时间,比如设置成2020-11-03 20:02:10
另外,只有取得权限者 (比如说 root) 才能设定系统时间。当您以 root 身分更改了系统时间之后,请记得以 clock -w
来将系统时间写入 CMOS 中,这样下次重新开机时系统时间才会持续抱持最新的正确值。
自动同步网络日期
过程如下:
-
执行
yum install -y ntp
,安装时间同步服务(组件) -
ntpdate asia.pool.ntp.org
,设置同步服务器,asia.pool.ntp.org
是台警大授时中心 (台湾) -
执行
date
,查看当前时间
ntp 常用服务器:
-
中国国家授时中心:210.72.145.44
-
NTP 服务器 (上海) :ntp.api.bz
-
美国:time.nist.gov
-
复旦:ntp.fudan.edu.cn
-
微软公司授时主机 (美国) :time.windows.com
-
台警大授时中心 (台湾):asia.pool.ntp.org
注意,服务器更新时间之后,所有的日志啊什么的,都会自动使用更新后的时间,不需要重新启动。
对于一些时间敏感的应用,一定要先关闭,再修改时间,否则会导致服务出现问题,比如 TDengine。
关于离线时钟同步,请看《离线时钟同步服务》