如何在Linux中使用date命令修改日期时间

说白了,Linux里改时间就靠date和hwclock这两个命令,但操作前得先搞清楚权限问题。

展开来说,先说最重要的:date命令改时间必须得root权限,否则直接给你打回原形。
去年我们跑那个项目时,有个同学用sudo改时间,结果系统时间直接乱跳,最后花了一小时才发现是权限问题。
另外一点,用date-s"2 02 3 -05 -2 0 1 4 :3 0:00"修改时,双引号千万别省略,否则shell会报错。
还有个细节挺关键的,比如同步时间时,用ntpdate asia.pool.ntp.org同步后,记得用hwclock-w把时间写回硬件,不然重启后全变回默认时间。

我一开始也以为修改时间只需要date命令,后来发现不对,硬件时间(BIOS时间)和系统时间不同步时,系统重启会乱,这时候就得用hwclock来同步。
等等,还有个事,如果系统连不上网络,ntpdate就失效了,这种时候只能手动设置时间,或者用NTP服务器手动同步一次。

建议改时间时先备份当前时间,或者先用date-u和hwclock确认一下状态,免得改完发现不对只能用hwclock--hctosys硬恢复。
你觉得用NTP还是手动设置时间更方便呢?

如何在Linux中使用date命令修改日期时间

哎哟,Linux系统里头,date命令真是挺管用的,改个日期时间什么的,小意思啦。
先来瞧瞧当前日期时间,直接在命令行里敲个“date”,它就给你亮出来。
这时间不对,得改改。

要改系统日期,得有点权限,得是root用户,对吧?那就敲个“date-s”,后面跟上新的日期,比如“2 01 5 -1 0-2 5 ”,记得是年月日,中间用短横线分隔。
要改时间,也差不多,不过得是时分秒,比如“1 5 :00:00”。
这俩操作,都得小心点,搞错了,系统可能就闹别扭了。

如果既要改日期又要改时间,那就得用双引号,把年月日时分秒全括起来,比如“2 01 5 -1 0-2 5 1 5 :00:00”。
这回改对了,系统时间就更新了。

硬件时间也得注意,有时候系统时间对,硬件时间不对,那就得同步一下。
敲“hwclock-w”或者“clock-w”,这就能把系统时间写到硬件里头去。
反过来,硬件时间不对,用“hwclock--hctosys”或者“hwclock--systohc”来调整。

要是想从网上同步时间,得用个叫ntpd的服务。
先得停掉这个服务,敲“service ntpd stop”,然后同步时间,比如“ntpdate asia.pool.ntp.org”,最后再用“hwclock-w”同步到硬件。
搞定了,别忘了重启ntpd服务,“service ntpd start”。

最后,要了解date命令的详细设置,那就得看手册了,敲个“man date”,就能看到详细用法了。
这么一通操作,Linux系统里的日期时间就搞定了。