linux时间和日期设置


系统的基本设置包括网络设置、时间和日期设置、语系设置、防火墙设置等。 CentOS 6.x之前版本有个名为setup的软件将设置做成类图形界面,连防火墙都可以搞定! 新版CentOS 7针对不同的服务提供了大量的命令行设置模式,过去的setup命令已经被最近的命令取代! 这些设置工具都具有bash-complete参数自动补全功能! 如果不习惯指令,很多的图形界面也可以使用,setup的需求就减少很多了!

1.date命令

回到顶部

如果想知道当前系统的时间,可以在命令行中敲入date命令:

              peter@initroot:/home/wwwroot/$ date
              Tue Dec 31 11:24:54 CST 2019
            
更多date命令信息参考:date
date命令可以按照指定的格式显示当前时间或者设置系统时间:

peter@peter-VirtualBox:~$ date
Fri Oct 11 09:29:49 CST 2019

2.cal命令

回到顶部

如果想知道当前月的月历,可以在命令行中敲入cal命令:

              peter@initroot:~$ cal
                December 2019      
              Su Mo Tu We Th Fr Sa  
              1  2  3  4  5  6  7  
              8  9 10 11 12 13 14  
              15 16 17 18 19 20 21  
              22 23 24 25 26 27 28  
              29 30 31             
            

cal命令用于显示日历,是calendar的缩写。默认没有参数的情况下显示当前月份

                peter@peter-VirtualBox:~/Desktop/test$ cal
                    October 2019      
                Su Mo Tu We Th Fr Sa  
                      1  2  3  4  5  
                6  7  8  9 10 11 12  
                13 14 15 16 17 18 19  
                20 21 22 23 24 25 26  
                27 28 29 30 31
              

选项:

-l:显示单月输出;
-3:显示临近三个月的日历;
-s:将星期日作为月的第一天;
-m:将星期一作为月的第一天;
-j:显示“julian”日期;
-y:显示当前年的日历。

关于cal的详细信息可参考man cal

更多cal命令信息参考:cal

3.timedatectl命令

回到顶部

date指令可以设置系统日期和时间。除了date命令,也可以使用timedatectl命令设置时间和日期, timedatectl命令不仅可以设置时间和日期,还可以显示和设置时区,以及设置ntp时间校准服务器。
timedatectl命令常用格式如下:

            [root@study ~]# timedatectl [commamd]
            
选项与参数:
list-timezones :列出系统上支持的所有时区名称
set-timezone :设置时区位置
set-time :设置时间
set-ntp :设置网络校时系统
timedatectl的时间格式可以是yyyy-mm-dd HH:MM!比较方便记忆喔!
例如将时间调整到2020年9月1号19时02分:
            [root@study ~]# timedatectl set-time "2020-09-01 19:02"
            
如果使用date修改日期,还得使用hwclock命令修正BIOS记录的时间。通过timedatectl全部搞定,方便又轻松!

4.显示与设置时区

回到顶部

地球是圆的,同一时刻每个地区的时间可能是不一样的,太平洋上有条看不见的换日线! 为了统一时间,GMT格林威治标准时间时区!我们会比较早看到太阳,中国比格林威治时间多了8小时! timedatectl命令不加任何参数可以显示当前系统所在的时区与时间等信息:

              [root@study ~]# timedatectl
                                    Local time: Fri 2020-02-21 17:19:15 CST
                                Universal time: Fri 2020-02-21 09:19:15 UTC
                                      RTC time: Thu 2020-02-20 21:07:39
                                    Time zone: Asia/Shanghai (CST, +0800)
                    System clock synchronized: no
              systemd-timesyncd.service active: yes
                              RTC in local TZ: no
            
list-timezones选项可以列出系统中所有的时区,配合grep命令查看是否支持New_York时区:
            [root@study ~]# timedatectl list-timezones | grep -i new
            America/New_York
            America/North_Dakota/New_Salem
            
将系统时区设置为New_York时区:
              [root@study ~]# timedatectl set-timezone "America/New_York"
              [root@study ~]# timedatectl
                                    Local time: Fri 2020-02-21 04:52:10 EST
                                Universal time: Fri 2020-02-21 09:52:10 UTC
                                      RTC time: Thu 2020-02-20 21:40:34
                                    Time zone: America/New_York (EST, -0500)
                    System clock synchronized: no
              systemd-timesyncd.service active: yes
                              RTC in local TZ: no
            
通过上面的信息输出可以看出我们成功将系统的时区设置为New_York时区了, 现在设置回上海时区:
            [root@study ~]# timedatectl set-timezone "Asia/Shanghai"
            

5.ntp网络校时

回到顶部

系统默认的自动校时会启动NTP协议,也可以通过ntpdate命令进行手动网络校时!

              [root@study ~]# ntpdate ntp.ntsc.ac.cn
              21 Feb 18:52:28 ntpdate[7971]: step time server 114.118.7.163 offset 0.979462 sec
              [root@study ~]# hwclock -w
            
ntp.ntsc.ac.cn为中国科学院国家授时中心。hwclock将时间写入BIOS时间记录! 可以将上述任务写入crontab来自动更新系统时间!

本文由initroot编辑整理,转载请注明www.initroot.com

100次点赞 100次阅读