Linux系统时间如何更改?操作步骤与方法有哪些?

在Linux系统中,时间管理涉及“系统时间”(由内核维护,软件运行使用)和“硬件时间”(由主板BIOS/UEFI保存,关机后仍保留)两个概念,两者可能不同步,需根据需求调整,以下是更改Linux系统时间的详细方法,涵盖命令行和图形界面操作,并包含时区设置及常见注意事项。

如何更改 linux系统时间

使用timedatectl命令(推荐,适用于systemd系统)

现代Linux发行版(如Ubuntu 16.04+、CentOS 7+)普遍使用systemd管理服务,timedatectl是其内置的时间管理工具,操作简单且功能全面。

查看当前时间状态

timedatectl status

输出信息包括:系统时间、硬件时间、时区、是否启用NTP(网络时间同步)等。
Local time: Sat 2023-10-01 14:30:00 CST
Universal time: Sat 2023-10-01 06:30:00 UTC
RTC time: Sat 2023-10-01 06:30:00
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes

设置时区

若时区错误,需先调整时区(例如设置为“亚洲/上海”):

sudo timedatectl set-timezone Asia/Shanghai

可通过timedatectl list-timezones查看所有可用时区,结合grep快速搜索(如timedatectl list-timezones | grep Shanghai)。

手动设置系统时间

格式为YYYY-MM-DD HH:MM:SS,例如设置为2023年10月1日12点30分:

sudo timedatectl set-time "2023-10-01 12:30:00"

设置硬件时间

系统时间与硬件时间可独立设置,但建议保持同步,若需将系统时间写入硬件时间(推荐操作):

sudo timedatectl set-local-rtc 0  # 0表示使用UTC时间(硬件时间默认UTC),1表示使用本地时间

或直接同步:

如何更改 linux系统时间

sudo hwclock --systohc  # 将系统时间同步到硬件时间

禁用/启用NTP同步

若手动修改时间,需先关闭NTP(否则会被自动覆盖):

sudo timedatectl set-ntp no  # 禁用NTP

修改完成后若需重新启用自动同步:

sudo timedatectl set-ntp yes  # 启用NTP

timedatectl常用参数说明
| 参数 | 作用 | 示例 |
|———————|————————–|——————————-|
| status | 查看时间状态 | timedatectl status |
| set-timezone | 设置时区 | sudo timedatectl set-timezone Asia/Shanghai |
| set-time | 设置系统时间 | sudo timedatectl set-time "2023-10-01 12:30" |
| set-local-rtc | 设置硬件时间模式(0/UTC,1/本地) | sudo timedatectl set-local-rtc 0 |
| set-ntp | 启用/禁用NTP同步 | sudo timedatectl set-ntp no |

使用datehwclock命令(传统方法)

适用于旧版Linux系统(如CentOS 6、Ubuntu 14.04等),或无systemd的环境。

修改系统时间

使用date命令,格式需加号,

sudo date -s "20231001 123000"  # 格式:YYYYMMDD HHMMSS

或更易读的格式:

sudo date -s "2023-10-01 12:30:00"

同步到硬件时间

修改系统时间后,需手动同步到硬件时间,否则重启后会恢复:

如何更改 linux系统时间

sudo hwclock --systohc  # 系统时间 → 硬件时间

若需将硬件时间同步到系统时间(例如硬件时间正确但系统时间错误):

sudo hwclock --hctosys  # 硬件时间 → 系统时间

设置时区

传统方法需手动复制时区文件:

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime  # 复制上海时区文件

图形界面操作(适用于桌面版Linux)

以Ubuntu GNOME桌面为例:

  1. 打开“设置”(Settings),进入“通用”>“日期和时间”;
  2. 关闭“自动从互联网设置时间”(即禁用NTP);
  3. 点击“日期”和“时间”旁的“设置”按钮,手动调整日期和时间;
  4. 时区修改:点击“时区”下拉菜单,选择对应时区(如“Asia/Shanghai”)。

注意事项

  1. 权限问题:所有时间修改命令均需sudoroot权限,普通用户无法直接修改。
  2. NTP冲突:若启用NTP(如chronyntpd服务),手动修改时间会被自动覆盖,需先关闭NTP。
  3. 硬件时间模式:建议硬件时间使用UTC(默认),避免多系统切换时时间混乱(如Windows默认使用本地时间,与Linux UTC时间相差8小时)。

相关问答FAQs

Q1:为什么修改了系统时间后,重启又恢复成原来的时间?
A:可能原因有两个:① 未将系统时间同步到硬件时间(需执行sudo hwclock --systohc);② 系统开启了NTP服务(如chronydntpd),会自动同步网络时间覆盖手动设置,可通过sudo timedatectl set-ntp no关闭NTP后再修改时间。

Q2:如何确认硬件时间是否正确?
A:使用hwclock命令查看硬件时间,

hwclock --show

输出格式如Sat 01 Oct 2023 06:30:00 PM CST,表示硬件时间为UTC+8(若时区为上海),若需对比系统时间,可执行date查看,两者一致则同步成功。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/19942.html

(0)
酷番叔酷番叔
上一篇 2025年8月30日 01:18
下一篇 2025年8月30日 01:29

相关推荐

  • Linux如何删除文本行?常用命令与操作步骤有哪些?

    在Linux系统中,删除文本行是日常文本处理中的常见需求,无论是日志分析、配置文件修改还是数据清洗,都可能涉及这一操作,Linux提供了多种命令行工具和编辑器来实现文本行的删除,每种工具都有其适用场景和语法特点,掌握这些方法能显著提升文本处理效率,本文将详细介绍几种主流的删除文本行方式,包括sed、awk、gr……

    2025年10月3日
    1000
  • 如何修改Linux用户组权限?

    为什么需要修改用户组?权限管理:控制用户对文件/目录的访问(如只允许特定组写入),协作需求:将用户加入项目组,共享资源,安全隔离:限制非授权用户访问敏感数据,修改用户组的核心命令usermod 命令(永久修改主组或附加组)修改用户的主组(一个用户只能有一个主组):sudo usermod -g 新主组名 用户名……

    2025年6月23日
    4300
  • Linux系统如何查看本机网卡的型号信息?

    在Linux系统中,查看本机网卡型号是网络配置、驱动安装或硬件故障排查时的常见需求,网卡型号通常包含厂商、芯片组等信息,可通过多种命令工具获取,以下详细介绍几种主流方法及其实际操作场景,使用lspci命令查看PCI网卡信息lspci(List PCI Devices)是Linux系统中用于列出PCI总线上所有设……

    2025年10月3日
    1100
  • linux如何进入gcc编译器

    终端输入gcc即可启动GCC编译器,也可通过指定文件名进行编译,如`gcc filename.

    2025年8月16日
    3000
  • Linux操作系统下,获取本机IP地址的常用方法有哪些?

    在Linux系统中获取本机IP地址是日常运维、网络配置和开发调试中的常见需求,本机IP地址可分为内网IP(局域网IP)和公网IP(外网IP),内网IP是局域网内部分配的地址,公网IP则是互联网上可见的出口IP,以下详细介绍几种常用的Linux获取本机IP的方法,涵盖命令行工具、系统配置文件解析及自动化脚本场景……

    2025年8月26日
    3400

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信