使用 Timedatectl 控制时间、日期等 Linux

确保我们的日期和时间设置准确 Linux 对于系统任务的顺利运行极其重要。 这 timedatectl 命令 Linux 允许您查询和更改系统时钟以及与其相关的各种设置。 它是 systemd 的一部分,提供了一种简单的方法来确保您的系统报告正确的日期和时间。 这里我们向您展示应用程序 timedatectl 控制设备上的时间和日期 Linux 机器。

内容

提示:您还可以使用 systemd 计时器作为 cron 的替代品。

系统时钟与实时时钟 (RTC)

你的 Linux 该系统使用两个不同的时钟来跟踪时间 – 系统时钟和实时时钟。

系统时钟 或者软件管理的时钟由您的操作系统或 Linux 核心。 它需要借助实时时钟来获取系统启动时的初始值。

实时时钟或 RTC 是主板上的硬件时钟,即使系统关闭也保持活动状态。 它使用电池来维持连续运行,使其能够跟踪时间并在启动期间通知系统正确的时间。

timedatectl 您可以使用该命令来管理这两个时钟。

使用 timedatectl 查看系统日期和时间

timedatectl 该命令是最有用的命令之一 Linux 命令。 轻松查看设备上的当前日期和时间 Linux 系统,输入 timedatectl 输入不带任何其他参数的命令,然后按 Enter。 输出显示本地时间、世界时间、RTC 时间、时区和一些其他有用信息。

尽管 当地时间 (基于系统时区), 世界时间实时时钟时间 条目是不言自明的 时区 该条目指的是系统中当前设置的时区。

其他项目告诉您系统时钟是否与 NTP 服务器同步(用于通过 Internet 进行实时更新)、NTP 服务是否处于活动状态以及 RTC 是否使用本地时间而不是 UTC。

使用 set-timezone 更新系统时区

取决于您的时区 Linux 系统,系统时钟可能无法显示正确的本地时间。

要检查系统使用的时区,请参阅 时区 上一节输出中的行。 例如,我的系统使用这个 美国/东部(东部时间,-0500) 时区。 这 -0500 偏移是指与 UTC 或世界时的差异。

如果要更改时区,请首先查询系统以获取可以使用的可用时区列表:

timedatectl list-timezones

它会创建一个很长的列表,并且需要很长时间才能滚动。 为了获得更实际的输出,您可以修改命令以将结果限制为您当地的区域或国家:

timedatectl list-timezones | grep "America/" | less

要更改系统的当前时区,您可以使用 set-timezone 参数如下:

timedatectl set-timezone "America/Chicago"

系统可能会要求您输入密码,因为执行该命令需要提升权限。 完成后,您只需运行即可验证更改 timedatectl 再次。

您可以看到输出报告了上一个命令中更新的新时区。 如果需要,您甚至可以设置多个时区 Ubuntu 和别的 Linux 用于一次快速查看多个时区的分布。

使用 set-time 手动设置系统日期和时间

在大多数情况下,当您的系统启动时,它会将系统时钟与 NTP 服务器同步,以便您的系统时间和日期始终正确。 但是,如果您的系统无法访问互联网,您仍然可以使用它 set-time 用于手动设置新日期或时间的参数。

要手动设置系统日期和时间,请首先禁用与 NTP 服务器的同步:

sudo systemctl disable --now chronyd

接下来,使用以下命令设置新的日期和时间:

timedatectl set-time "2023-11-16 10:00:00"
Linux    显示如何手动设置日期和时间的终端屏幕截图

使用 timedatectl 配置实时时钟

您还可以配置系统的实时时钟。 默认情况下,RTC 与通用时间或 UTC 同步,但也可以将其设置为您当地的时区。

需要注意的是,将 RTC 保持在本地时区可能会导致时区更改和夏令时调整等各种问题。 如果您将 RTC 更改为您当地的时区,您的系统也可能会显示类似的警告。

如果您仍想将 RTC 设置为本地时区,请务必运行以下命令:

timedatectl set-local-rtc 1
Linux    显示如何设置 RTC 时间的终端屏幕截图

如果您想将 RTC 重置回 UTC,只需更换它即可 10 在同一个命令中。

笔记:如果您的计算机是双启动的 Windows 而Linux,你可能会遇到系统时钟不同步的场景。 以下是解决该问题的方法。

将系统时钟与NTP同步

NTP(网络时间协议)是一种 Internet 协议,用于通过 Internet 的大型计算机网络之间的时钟同步。 目标是在几毫秒内将所有涉及 UTC 的计算机同步。

为了使系统时钟与 NTP 服务器同步,您的系统上必须安装 NTP。 为此,您只需运行安装命令即可:

sudo apt-get -y install ntp
Linux    显示如何与 NTP 同步时间的终端屏幕截图

现在要启用与 NTP 服务器的自动同步,请运行以下命令:

timedatectl set-ntp true
Linux    显示如何启用 NTP 服务的终端屏幕截图

同样,您可以使用以下命令禁用 NTP 同步: timedatectl set-ntp false

使用 timedatectl 管理系统时间和日期

timedatectl 该命令是一个方便的工具,允许您调整系统时钟和 RTC 配置,以及在您搬家或旅行时设置所需的时区。 如果您经常出差,请考虑使用这些时区转换器来轻松计划任务。

所有屏幕截图均由 Tanveer Singh 提供。

这篇文章有用吗?

订阅我们的新闻!

我们的最新教程直接发送到您的收件箱

订阅所有时事通讯。

注册即表示您同意我们的隐私政策,并且欧洲用户同意数据传输政策。 我们不会分享您的信息,您可以随时取消订阅。

订阅