通过命令设置

设置语言环境

您可以通过 localectl 修改系统的语言环境,对应的参数设置保存在 /etc/locale.conf 文件中。这些参数会在系统启动过程中被 systemd 的守护进程读取。

显示当前语言环境状态

显示当前语言环境,命令如下:

localectl status

例如显示系统当前的设置,命令和输出如下:

$ localectl status
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn

列出可用的语言环境

显示当前可用的语言环境,命令如下:

localectl list-locales

例如显示当前系统中所有可用的中文环境,命令和输出如下:

$ localectl list-locales | grep zh
lzh_TW.UTF-8
zh_CN.UTF-8
zh_HK.UTF-8 
zh_SG.UTF-8
zh_TW.UTF-8su'do

设置语言环境

要设置语言环境,在 root 权限下执行如下命令,其中 locale 是您要设置的语言类型,请根据实际情况修改。

localectl set-locale LANG=locale

例如设置为简体中文语言环境,在 root 权限下执行如下命令:

# localectl set-locale LANG=zh_CN.UTF-8

说明:

修改后需要重新登录或者执行如下命令刷新配置文件,使修改生效。

source /etc/locale.conf

设置键盘

您可以通过 localectl 修改系统的键盘设置,对应的参数设置保存在 /etc/locale.conf 文件中。这些参数,会在系统启动的早期被 systemd 的守护进程读取。

显示当前设置

显示当前键盘设置,命令如下:

localectl status

例如显示系统当前的设置,命令和输出如下:

$ localectl status
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: cn

列出可用的键盘布局

显示当前可用的键盘布局,命令如下:

localectl list-keymaps

例如显示系统当前的中文键盘布局,命令和输出如下:

$ localectl list-keymaps | grep cn
cn

设置键盘布局

设置键盘布局,在 root 权限下执行如下命令,其中 map 是您想要设置的键盘类型,请根据实际情况修改:

localectl set-keymap map

此时设置的键盘布局同样也会应用到图形界面中。

设置完成后,查看当前状态:

$ localectl status
   System Locale: LANG=zh_CN.UTF-8
       VC Keymap: cn
      X11 Layout: us

设置日期和时间

主要介绍如何通过 timedatectl、date、hwclock 命令来设置系统的日期、时间和时区等。

使用 timedatectl 命令设置

显示日期和时间

显示当前的日期和时间,命令如下:

timedatectl

例如显示系统当前的日期和时间,命令和输出如下:

$ timedatectl
               Local time: Fri 2020-03-20 11:30:00 CST
           Universal time: Fri 2020-03-20 03:30:00 UTC
                 RTC time: Fri 2020-03-20 03:30:00
                Time zone: Asia/Shanghai (CST, +0800)   
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

通过远程服务器进行时间同步

您可以启用 NTP 远程服务器进行系统时钟的自动同步。是否启用 NTP,可在 root 权限下执行如下命令进行设置。其中 boolean 可取值 yes 和 no,分别表示启用和不启用 NTP 进行系统时钟自动同步,请根据实际情况修改。

说明:

若启用了 NTP 远程服务器进行系统时钟自动同步,则不能手动修改日期和时间。若需要手动修改日期或时间,则需确保已经关闭 NTP 系统时钟自动同步。可执行 timedatectl set-ntp no 命令进行关闭。

timedatectl set-ntp boolean

例如开启自动远程时间同步,命令如下:

# timedatectl set-ntp yes

修改日期

说明:

修改日期前,请确保已经关闭NTP系统时钟自动同步。

修改当前的日期,在 root 权限下执行如下命令,其中 YYYY 代表年份,MM 代表月份,DD 代表某天,请根据实际情况修改:

timedatectl set-time YYYY-MM-DD

例如修改当前的日期为2020年3月20号,命令如下:

# timedatectl set-time '2020-03-20'

修改时间

说明:

修改时间前,请确保已经关闭 NTP 系统时钟自动同步。

修改当前的时间,在 root 权限下执行如下命令,其中 HH 代表小时,MM 代表分钟,SS 代表秒,请根据实际情况修改:

timedatectl set-time HH:MM:SS

例如修改当前的时间为11点30分0秒,命令如下:

# timedatectl set-time 11:30:00

修改时区

显示当前可用时区,命令如下:

timedatectl list-timezones

要修改当前的时区,在 root 权限下执行如下命令,其中 time_zone 是您想要设置的时区,请根据实际情况修改:

timedatectl set-timezone time_zone

例如修改当前的时区,首先查询所在地域的可用时区,此处以 Asia 为例:

# timedatectl list-timezones | grep Asia
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
……

Asia/Vladivostok
Asia/Yakutsk
Asia/Yangon 
Asia/Yekaterinburg
Asia/Yerevan

然后修改当前的时区为“Asia/Shanghai”,命令如下:

# timedatectl set-timezone Asia/Shanghai

使用 date 命令设置

显示当前的日期和时间

显示当前的日期和时间,命令如下:

date

默认情况下,date 命令显示本地时间。要显示 UTC 时间,添加 --utc 或 -u 参数:

date --utc

要自定义对应的输出信息格式,添加 +“format” 参数:

date +"format"

表 1 参数说明

格式参数 说明
%H 小时以 HH 格式(例如 17)。
%M 分钟以 MM 格式(例如 37)。
%S 秒以 SS 格式(例如 25)。
%d 日期以 DD 格式(例如 15)。
%m 月份以 MM 格式(例如 07)。
%Y 年份以 YYYY 格式(例如 2019)。
%Z 时区缩写(例如 CEST)。
%F 日期整体格式为 YYYY-MM-DD(例如 2019-7-15),等同 %Y-%m-%d。
%T 时间整体格式为 HH:MM:SS(例如 18:30:25),等同 %H:%M:%S。

实际使用示例如下:

  • 显示当前的日期和本地时间。

    $ date 
    Fri Mar 20 11:40:46 CST 2020
    
  • 显示当前的日期和 UTC 时间。

    $ date --utc
    Fri Mar 20 03:41:43 UTC 2020
    
  • 自定义 date 命令的输出。

    $ date +"%Y-%m-%d %H:%M"
    2020-03-20 11:42
    

修改时间

要修改当前的时间,添加 --set 或者 -s 参数。在root权限下执行如下命令,其中 HH 代表小时,MM 代表分钟,SS 代表秒,请根据实际情况修改:

date --set HH:MM:SS

默认情况下,date 命令设置本地时间。要设置 UTC 时间,添加 --utc 或 -u 参数:

date --set HH:MM:SS --utc

例如修改当前的时间为11点45分00秒,在 root 权限下执行如下命令:

# date --set 11:45:00

修改日期

修改当前的日期,添加 --set 或者 -s 参数。在 root 权限下执行如下命令,其中 YYYY 代表年份,MM 代表月份,DD 代表某天,请根据实际情况修改:

date --set YYYY-MM-DD

例如修改当前的日期为2020年3月20日,命令如下:

# date --set 2020-03-20

使用 hwclock 命令设置

可以使用 hwclock 命令设置硬件时钟 RTC (Real Time Clock) 。

硬件时钟和系统时钟

Linux 将时钟分为:

  • 系统时钟 (System Clock) :当前 Linux Kernel 中的时钟。
  • 硬件时钟 RTC:主板上由电池供电的主板硬件时钟,该时钟可以在 BIOS 的 “Standard BIOS Feature” 项中进行设置。

当 Linux 启动时,会读取硬件时钟,并根据硬件时间来设置系统时间。

显示日期和时间

显示当前硬件的日期和时间,在 root 权限下执行如下命令:

hwclock

例如显示当前硬件的日期和时间,命令和输出如下:

# hwclock
2020-03-20 11:43:04.023646+08:00

设置日期和时间

修改当前硬件的日期和时间,在 root 权限下执行如下命令,其中 dd 表示日,mm 表示月份,yyyy 表示年份,HH 表示小时,MM 表示分钟,请根据实际情况修改:

hwclock --set --date "dd mm yyyy HH:MM"

例如修改当前的时间为2020年3月20日21点0分,命令如下:

# hwclock --set --date "20 Mar 2020 21:00" --utc

results matching ""

    No results matching ""