插件窝 干货文章 Linux 如何设置系统时间和时区

Linux 如何设置系统时间和时区

bash timedatectl 时间 时区 478    来源:    2025-05-12

在 Linux 系统中设置系统时间和时区的步骤如下:


一、设置时区

1. 查看当前时区

timedatectl

date +"%Z %z"

2. 列出所有可用时区

timedatectl list-timezones

3. 设置时区(以 Asia/Shanghai 为例)

方法 1:使用 timedatectl(推荐)

sudo timedatectl set-timezone Asia/Shanghai

方法 2:手动创建符号链接(旧版系统)

sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. 验证时区

date

二、设置系统时间

1. 手动设置日期和时间

sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"

例如:

sudo timedatectl set-time "2023-11-20 15:30:00"

2. 启用网络时间同步(NTP)

启用自动同步:

sudo timedatectl set-ntp true

禁用自动同步(如需手动设置时间):

sudo timedatectl set-ntp false

3. 手动同步时间(如果 NTP 已启用)

sudo systemctl restart systemd-timesyncd

或使用 ntpdate(需安装):

sudo ntpdate pool.ntp.org

三、硬件时钟(RTC)同步

系统时间修改后,需同步到硬件时钟:

sudo hwclock --systohc

查看硬件时钟时间:

sudo hwclock --show

四、其他工具(可选)

1. 使用 date 命令临时设置时间

sudo date -s "YYYY-MM-DD HH:MM:SS"

例如:

sudo date -s "2023-11-20 15:30:00"

2. 使用 tzselect 交互式选择时区

tzselect

(注意:tzselect 仅指导操作,需手动执行其提示的命令。)


常见问题

  1. 权限不足:确保使用 sudo 或以 root 用户操作。
  2. NTP 服务冲突:手动设置时间前需禁用 NTP(sudo timedatectl set-ntp false)。
  3. 时区未生效:重启系统或服务(如 systemctl restart systemd-timedated)。

通过以上步骤,您可以准确配置 Linux 系统的时间和时区。