inux下date命令,格式化输出,时间设置
时间输出
[root@test161 tmp]# date "+%Y-%m-%d" 2018-04-03 [root@test161 tmp]# date "+%H:%M:%S" 15:04:59 [root@test161 tmp]# date "+%Y-%m-%d %H:%M:%S" 2018-04-03 15:05:06 [root@test161 tmp]# date "+%Y_%m_%d %H:%M:%S" 2018_04_03 15:05:15 [root@test161 tmp]# date -d today 2018年 04月 03日 星期二 15:05:39 CST [root@test161 tmp]# date -d now 2018年 04月 03日 星期二 15:05:52 CST [root@test161 tmp]# date -d tomorrow 2018年 04月 04日 星期三 15:06:04 CST [root@test161 tmp]# date -d yesterday 2018年 04月 02日 星期一 15:06:13 CST [root@test161 tmp]# date 2018年 04月 03日 星期二 15:06:19 CST
时间设置
“date -s”命令来修改系统时间
比如将系统时间设定成2011年7月13日的命令:
date -s 07/13/2011
将系统时间设定成11点12分0秒的命令:
date -s 11:12:00
注意:这里说的是系统时间,是linux由操作系统维护的。
在系统启动时,Linux操作系统将时间从CMOS中读到系统时间变量中,以后修改时间通过修改系统时间实现。为了保持系统时间与CMOS时间的一致性,Linux每隔一段时间会将系统时间写入CMOS。由于该同步是每隔一段时间(大约是11分钟)进行的,在我们执行date -s后,如果马上重起机器,修改时间就有可能没有被写入CMOS,这就是问题的原因。
如果要确保修改生效可以执行如下命令。
#clock –w
这个命令强制把系统时间写入CMOS。