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命令sed(Stream Editor)是Linux中最强大的流编辑器,支持对文本……

    2025年10月6日
    3000
  • linux如何生成ssh keys

    ssh-keygen 命令生成 SSH keys,默认路径为 ~/.ssh/id_rsa(私钥)和 `~/.ssh/id_rsa.

    2025年8月15日
    5800
  • Linux如何停止进程?常用命令、方法及操作步骤有哪些?

    在Linux操作系统中,进程是程序执行的基本单位,有时因程序卡死、资源占用过高或需要手动干预,需要停止特定进程,掌握正确的进程停止方法对系统管理至关重要,本文将详细介绍Linux中停止进程的多种方式及相关注意事项,基础进程停止命令:killkill是Linux中最基础的进程终止命令,其核心原理是通过向目标进程发……

    2025年8月29日
    4800
  • Linux中如何覆盖已存在文件的操作方法?

    在Linux系统中,文件覆盖是指用新的内容完全替换目标文件的全部内容,而非追加或部分修改,与“删除再创建”不同,覆盖操作通常保留目标文件的inode号、权限、所有者等元数据(除非显式修改),但会更新文件内容、访问/修改时间戳,理解文件覆盖的机制、工具及注意事项,是高效且安全管理Linux文件系统的关键,文件覆盖……

    2025年10月7日
    3700
  • Linux中tty终端如何正确终止?

    在Linux系统中,tty(Teletype)是终端设备的抽象,用于实现用户与系统的交互,无论是物理终端(如直接连接服务器的串口)、虚拟终端(通过Ctrl+Alt+F1~F6切换的文本界面)还是伪终端(如SSH连接或xterm等终端模拟器),都可能因进程卡死、命令未响应或误操作需要终止,本文将详细说明Linux……

    2025年10月1日
    4400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信