Linux系统安装后,系统时区可能与用户所在区域的时区不一致。系统时区会影响到系统程序中时间方面的处理,比如程序日志的记录时间、计划任务cron的执行时间等。保持系统时区与用户实际所处时区一致,对于Linux系统的管理是十分有益的。
时区管理工具
timedatectl
是Systemd下的一个实用的系统管理工具,它可以查看并修改系统当前的时区设置。
timedatectl
的基本用法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# 查看当前系统时区设置 timedatectl # 显示系统中的时区列表 timedatectl list-timezones # 设置系统时区 timedatectl set-timezone 时区名称 # 注意:时区名称为时区列表中的项目,中国为Asia/Shanghai # 设置系统日期 timedatectl set-time YYYY-MM-DD # 格式:年-月-日。如:1949-10-01 # 设置系统时间 timedatectl set-time HH:MM:SS # 格式:时:分:秒。如:14:00:00 |
修改系统时区
Linux系统通过/etc/localtime
文件来管理系统时区,该文件为一个软链接,链接/usr/share/zoneinfo
目录下存放的二进制时区文件。zoneinfo目录下各时区按照其所在的地理位置分类,存放在不同的区域目录下。比如中国时区在Linux系统中为Shanghai
,存放在Asia
目录中;美国东部时区为New_York
,存放在American
目录中。
修改当前Linux系统的时区,一般有两种方式。第一种是通过timedatectl
命令进行修改,一些旧版的Linux发行版系统可能不支持该方式。第二种是直接修改/etc/localtime
文件,该方式比较通用。
使用timedatectl
修改系统时区
下面演示利用timedatectl
管理工具,将系统时区修改为中国上海。修改时区可能需要root权限。
1 2 3 4 5 6 7 8 |
# 查看当前系统时区 timedatectl # 查看亚洲区域的时区列表,找到中国时区 timedatectl list-timezones | grep 'Asia' # 将时区设置为中国上海 timedatectl set-timezome Asia/Shanghai |
通过修改localtime文件修改系统时区
下面演示通过直接修改localtime文件,将系统时区修改为中国上海。
1 2 3 4 5 6 7 8 9 10 11 12 |
# 查看当前系统时区 ls -l /etc/localtime # 显示结果中箭头指向的文件即为当前系统时区 # 删除当前系统时区 rm -rf /etc/localtime # 查看亚洲区域的时区列表,找到中国时区 ls /usr/share/zoneinfo/Asia # 将时区设置为中国上海(重新建立软链接) ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
版权声明
Ling星轨迹原创文章,转载请说明文章的来源、作者和原文链接。
来源:Ling星轨迹(https://ilyfikaros.com)
作者:凌亦零
留言