Linux常用命令-tzselect

命令

tzselect

描述

选择时区

用法

tzselect

选项

注意

tzselect不会更改系统时区,只是提供临时更改时区的命令
更改系统时区推荐使用timedatectl set-timezone xxx命令
控制系统时区的文件为/etc/localtime,此文件是一个软链接,链接到对应的时区文件
系统时区文件目录为/usr/share/zoneinfo/

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# tzselect命令本身是一个shell脚本,读取的/usr/share/zoneinfo/这个时区目录
$ file /usr/bin/tzselect
/usr/bin/tzselect: Bourne-Again shell script, ASCII text executable
$ grep zoneinfo /usr/bin/tzselect
: ${TZDIR=/usr/share/zoneinfo}

$ tzselect
Please identify a location so that time zone rules can be set correctly.
Please select a continent or ocean.
1) Africa
2) Americas
3) Antarctica
4) Arctic Ocean
5) Asia
6) Atlantic Ocean
7) Australia
8) Europe
9) Indian Ocean
10) Pacific Ocean
11) none - I want to specify the time zone using the Posix TZ format.
#? 5
Please select a country.
1) Afghanistan 18) Israel 35) Palestine
2) Armenia 19) Japan 36) Philippines
3) Azerbaijan 20) Jordan 37) Qatar
4) Bahrain 21) Kazakhstan 38) Russia
5) Bangladesh 22) Korea (North) 39) Saudi Arabia
6) Bhutan 23) Korea (South) 40) Singapore
7) Brunei 24) Kuwait 41) Sri Lanka
8) Cambodia 25) Kyrgyzstan 42) Syria
9) China 26) Laos 43) Taiwan
10) Cyprus 27) Lebanon 44) Tajikistan
11) East Timor 28) Macau 45) Thailand
12) Georgia 29) Malaysia 46) Turkmenistan
13) Hong Kong 30) Mongolia 47) United Arab Emirates
14) India 31) Myanmar (Burma) 48) Uzbekistan
15) Indonesia 32) Nepal 49) Vietnam
16) Iran 33) Oman 50) Yemen
17) Iraq 34) Pakistan
#? 9
Please select one of the following time zone regions.
1) Beijing Time
2) Xinjiang Time
#? 1
The following information has been given:
China
Beijing Time
Therefore TZ='Asia/Shanghai' will be used.
Local time is now: Sat Feb 20 18:04:19 CST 2021.
Universal Time is now: Sat Feb 20 10:04:19 UTC 2021.
Is the above information OK?
1) Yes
2) No
#? 1
You can make this change permanent for yourself by appending the line
TZ='Asia/Shanghai'; export TZ
to the file '.profile' in your home directory; then log out and log in again.

Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
Asia/Shanghai
# 通过以上命令输出,得到临时更改时区命令如下
$ export TZ='Asia/Shanghai'; date
Sat Feb 20 18:27:32 CST 2021

# 查看系统时区文件
$ ll /etc/localtime
lrwxrwxrwx 1 root root 35 Feb 20 18:13 /etc/localtime -> ../usr/share/zoneinfo/Asia/Shanghai
$ ls /usr/share/zoneinfo/
Africa/ CET Etc/ Hongkong Kwajalein NZ-CHAT ROC WET
America/ Chile/ Europe/ HST leapseconds Pacific/ ROK W-SU
Antarctica/ CST6CDT GB Iceland Libya Poland Singapore zone1970.tab
Arctic/ Cuba GB-Eire Indian/ MET Portugal Turkey zone.tab
Asia/ EET GMT Iran Mexico/ posix/ tzdata.zi Zulu
Atlantic/ Egypt GMT0 iso3166.tab MST posixrules UCT
Australia/ Eire GMT-0 Israel MST7MDT PRC Universal
Brazil/ EST GMT+0 Jamaica Navajo PST8PDT US/
Canada/ EST5EDT Greenwich Japan NZ right/ UTC
$ ll /usr/share/zoneinfo/America/New_York
-rw-r--r--. 3 root root 3519 Nov 5 05:14 /usr/share/zoneinfo/America/New_York
# 临时更改时区,查看时间
$ export TZ='America/New_York'; date
Sat Feb 20 05:27:38 EST 2021