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

1.date命令

回到顶部

如果想知道当前系统的时间,可以在命令行中敲入date命令:
date命令可以按照指定的格式显示当前时间或者设置系统时间:

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

date有两种基本语法,一种是直接下达并且取得日期返回值,且可以+FORAMAT的方式来显示。 至于另一种方式,则是加上MMDDhhmmCCYY的方式来设定日期时间。格式是『月月日日时时分分公元年』! 主要的选项, -d 的意义等等,后续又会出现 +FORMAT 的用法! 从里面你可以查到我们之前曾经用过得『 date +%Y%m%d 』这个指令与选项的说明。 基本上,如果是指令,那么透过这个简单的 --help 就可以很快速的取得你所需要的选项、参数的说明了! 这很重要!我们说过,在 linux 底下你需要学习『任务达成』的方式, 不用硬背指令参数。不过常用的指令你还是得要记忆一下,而选项就透过 --help 来快速查询即可。 同样的,透过 cal --help 你也可以取得相同的解释!相当好用! 不过,如果你使用 bc --help 的话,然也有简单的解释,但是就没有类似 scale 的用法说明, 同时也不会有 +, -, *, /, % 等运算符的说明了! 因此,虽然 --help 已经相当好用,不过,通常 --help 用在协助你查询『你曾经用过的指令所具备的选项与参数』而已, 如果你要使用的是从来没有用过得指令,或者是你要查询的根本就不是指令,而是文件的『格式』时,那就得要透过 man page!

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的缩写。默认没有参数的情况下显示当前月份
选项:

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

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

3.timedatectl命令

回到顶部

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