date 命令

通过date命令可以在命令行中查看系统的时间,语法如下:

date [-d] [+格式化字符串]

参数

  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式。
    • %Y
    • %y年份后「两位数字」
    • %m月份
    • %d
    • %H小时
    • %M分钟
    • %S
    • %s自 1970-01-01 00:00:00 UTC 到当前的秒数

案例如下:

  1. $ date
  2. # 2023年 2月 7日 星期二 21时22分33秒 CST
  1. $ date +%Y
  2. # 2023
  1. $ date +%Y-%m-%d
  2. # 2023-02-07
  1. $ date "+%Y-%m-%d %H:%M:%S"
  2. # 2023-02-07 21:28:18

:::info 选项

  • -d:按照指定的字符显示日期,一般用于日期计算,-d可以和格式化字符串配合使用,其中支持的时间标记为:
    • year
    • month
    • day
    • hour小时
    • minute分钟
    • second秒 ::: 案例如下:
      1. $ date -d "+1 day"
      2. # 2023年 2月 8日 星期二 21时22分33秒 CST
      1. $ date -d "-1 year"
      2. # 2022年 2月 7日 星期二 21时22分33秒 CST
      1. $ date -d "+1 day" +%Y-%m-%d
      2. # 2023-02-08

更改 Linux 的时区

当我们使用date查看Linux时间的时候返回的其实是不准确的,这是因为系统默认的时区非中国的东八区。
所以我们需要进行更改,首先我们要使用root权限,执行如下的命令:

  1. $ rm -f /etc/localtime
  2. $ sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将系统自带的localtime删除掉,并将/usr/share/zoneinfo/Asia/Shanghai创建软连接。

ntp 程序

我们可以通过ntp程序进行自动校准系统时间,安装ntp

  1. $ yum -y install ntp

启动并设置开机自启:

  • systemctl start ntpd
  • systemctl enable ntpd

ntpd启动后会定期的帮助我们联网校准系统的时间。

  • 也可以手动的校准(需要root权限):ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准