1)显示/设置当前日期和时间,我来为大家科普一下关于系统配置详解?以下内容希望对你有帮助!
系统配置详解
1)显示/设置当前日期和时间
显示/设置当前日期时间使用date指令完成, 以下是date的使用说明:
date按指定格式显示或设置日期
date [OPTION] [ FORMAT] #按指定格式显示日期时间
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] #按指定格式设置日期时间
OPTION:
-d,--date = STRING
将STRING日期时间(可以是[ FORMAT]或@unix_time或string<如"2 days ago">)转换为标准的日期时间格式或转换为[ FORMAT]格式显示
这里的STRING是一种大多数形式的人类可读日期字符串,例如“Sun, 29 Feb 2004 16:21:42 -0800”或“2004-02-29 16:21:42”,甚至是“next Thursday”。
日期字符串可能包含指示日历date,time of day,time zone,day of week,relative time,relative date和numbers等。
空字符串表示一天的开始。日期字符串格式比此处容易记录的要复杂得多,但在info文档中有完整的说明
注意: [ FORMAT]和-d STRING放在一起使用, 表示将-d指定的时间字符串按照[ FORMAT]指定的格式或标准日期时间格式(不指定[ FORMAT时])显示
-s,-set = STRING 设置时间,由STRING描述
-r,--reference = FILE 显示FILE文件的mtime
-u,--utc 显示或设置协调世界时间(UTC)
FORMAT(下面是几个常用的):
%F(标准日期格式)
%T(标准时间格式)
%s(Unix时间, 纪元时, 时间戳)
%N(纳秒)
date -d @1552018856 [ FORMAT] # 将纪元时转换为标准日期时间
其中-d使用示例:
date -d "1 day" #后一天
date -d "-1 day" #前一天
date --date='2 days ago'
date -d "1 month" %F
date --date='3 months 1 day'
date -d "2 hours"
date -d "1 minutes"
date --date='25 Dec' %j
date --date='2000-01-01 UTC' %s
date -d '1970-01-01 UTC 946684800 seconds' "%Y-%m-%d %T %z"
date -d @946684800 "%F %T %z"
date --date='2012-06-30 23:59:59 0000' %s
显示当前日期时间:
[root@node-1 ~]# date # 按照默认格式显示当前系统日期时间
Wed Jul 20 05:52:51 CST 2022
[root@node-1 ~]# date "%F %T" # 按照指定格式显示日期时间
2022-07-20 05:52:57
[root@node-1 ~]# date %s # 显示当前时间戳
1658267591
[root@node-1 ~]# date -d @1658267591 "%F %T" # 按指定的格式将时间戳转换为日期时间
2022-07-20 05:53:11
显示更多详细信息/时区设置:
[root@node-1 ~]# timedatectl status
Local time: Wed 2022-07-20 22:00:19 CST
Universal time: Wed 2022-07-20 14:00:19 UTC
RTC time: Tue 2022-07-19 22:03:49
Time zone: Asia/Shanghai (CST, 0800)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
[root@node-1 ~]# timedatectl list-timezones # 列出所有可用时区
[root@node-1 ~]# timedatectl list-timezones|grep Singapore
Asia/Singapore
[root@node-1 ~]# timedatectl set-timezone Asia/Singapore # 设置时区为新加坡
[root@node-1 ~]# timedatectl status
Local time: Wed 2022-07-20 22:08:42 08
Universal time: Wed 2022-07-20 14:08:42 UTC
RTC time: Tue 2022-07-19 22:12:12
Time zone: Asia/Singapore ( 08, 0800) #
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
[root@node-1 ~]# timedatectl set-timezone Asia/Shanghai # 恢复中国时区
[root@node-1 ~]# timedatectl status
Local time: Wed 2022-07-20 22:09:33 CST
Universal time: Wed 2022-07-20 14:09:33 UTC
RTC time: Tue 2022-07-19 22:13:03
Time zone: Asia/Shanghai (CST, 0800)
System clock synchronized: no
NTP service: n/a
RTC in local TZ: no
设置当前系统日期时间:
[root@node-1 ~]# date -s "2022-07-20 21:57:00"
Wed Jul 20 21:57:00 CST 2022
[root@node-1 ~]# date
Wed Jul 20 21:57:02 CST 2022
系统级别的语系设置保存在/etc/locale.conf文件中,该文件在引导时由systemd守护进程读取。每个服务或用户都会继承在/etc/locale.conf中配置的locale设置,单独程序或个人用户可以单独覆盖。
[root@node-1 ~]# cat /etc/locale.conf
LANG="en_US.UTF-8"
[root@node-1 ~]#
列出所有可用语系:
[root@node-1 ~]# localectl list-locales | head
C.utf8
aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
aa_ER
aa_ER.utf8
aa_ER.utf8@saaho
aa_ER@saaho
aa_ET
aa_ET.utf8
查看/设置语系:
[root@node-1 ~]# echo $LANG
en_US.UTF-8
[root@node-1 ~]# localectl status
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us
[root@node-1 ~]# locale # 显示当前系统的字符集设定情况
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
[root@node-1 ~]# localectl list-locales | grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
[root@node-1 ~]# localectl list-locales | grep en_US
en_US
en_US.iso88591
en_US.iso885915
en_US.utf8
en_US.utf8@ampm.UTF-8
en_US@ampm.UTF-8
[root@node-1 ~]# localectl set-locale zh_CN.utf8 # 设置语系为中文
[root@node-1 ~]# localectl status
System Locale: LANG=zh_CN.utf8 #
VC Keymap: us
X11 Layout: us
# 退出会话重新登录执行如下指令
[root@node-1 ~]# echo $LANG
zh_CN.utf8
[root@node-1 ~]# locale
LANG=zh_CN.utf8
LC_CTYPE="zh_CN.utf8"
LC_NUMERIC="zh_CN.utf8"
LC_TIME="zh_CN.utf8"
LC_COLLATE="zh_CN.utf8"
LC_MONETARY="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_PAPER="zh_CN.utf8"
LC_NAME="zh_CN.utf8"
LC_ADDRESS="zh_CN.utf8"
LC_TELEPHONE="zh_CN.utf8"
LC_MEASUREMENT="zh_CN.utf8"
LC_IDENTIFICATION="zh_CN.utf8"
LC_ALL=
[root@node-1 ~]# localectl set-locale en_US.utf8 # 恢复为默认的英文语系
[root@node-1 ~]# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: us
X11 Layout: us
语系的设置也可通过设置LANG和LC_ALL这两个变量来实现, 命令行中通常使用这两个环境变量来实现临时设置
设置键盘布局键盘布局一般使用默认us即可, 如果系统不是默认的us键盘布局, 可使用如下指令查看/设置:
[root@node-1 ~]# localectl list-keymaps| head # 列出所有的键盘布局
ANSI-dvorak
al
al-plisi
amiga-de
amiga-us
applkey
at
at-mac
at-nodeadkeys
at-sundeadkeys
[root@node-1 ~]# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: us # 当前键盘布局
X11 Layout: us
[root@node-1 ~]# localectl set-keymap al # 设置
[root@node-1 ~]# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: al #
X11 Layout: us
[root@node-1 ~]# localectl set-keymap us # 恢复默认
[root@node-1 ~]# localectl status
System Locale: LANG=en_US.utf8
VC Keymap: us
X11 Layout: us
X11 Model: pc105 inet
X11 Options: terminate:ctrl_alt_bksp