Linux下修改时间时区的方法介绍

时间:2023-03-08 21:42:14
Linux下修改时间时区的方法介绍

点评:在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和 hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系

以前一直用date设置,这次参考网上资料,终于整了个全的。

Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟。系统时钟是指当前Linux Kernel中的时钟,而硬件时钟则是主板上由电池供电的时钟,这个硬件时钟可以在BIOS中进行设置。当Linux启动时,硬件时钟会去读取系统时钟的设置,然后系统时钟就会独立于硬件运作。

Linux中的所有命令 (包括函数)都是采用的系统时钟设置。在Linux中,用于时钟查看和设置的命令主要有date、hwclock和clock。其中,clock和hwclock用法相近,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系。

1、date

查看系统时间

# date

设置系统时间

# date --set “07/07/06 10:19" (月/日/年 时:分:秒)

2、hwclock/clock

查看硬件时间

# hwclock --show

# clock --show

设置硬件时间

# hwclock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

# clock --set --date="07/07/06 10:19" (月/日/年 时:分:秒)

3、硬件时间和系统时间的同步

按照前面的说法,重新启动系统,硬件时间会读取系统时间,实现同步,但是在不重新启动的时候,需要用hwclock或clock命令实现同步。

硬件时钟与系统时钟同步:
# hwclock --hctosys(hc代表硬件时间,sys代表系统时间)

或者
# clock --hctosys

系统时钟和硬件时钟同步:
# hwclock --systohc

或者
# clock --systohc

4、时区的设置

# 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) *
10) Cyprus                27) Lebanon               44) Tajikistan
11) East Timor            28) Macau                 45) Thailand
12) Georgia               29) Malaysia              46) Turkmenistan
13) *             30) *              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) east China - Beijing, Guangdong, Shanghai, etc.
2) Heilongjiang
3) central China - Gansu, Guizhou, Sichuan, Yunnan, etc.
4) Tibet & most of * *
5) southwest * *
#? 输入1,北京时间

The following information has been given:

China
        east China - Beijing, Guangdong, Shanghai, etc.

Therefore TZ='Asia/Shanghai' will be used.
Local time is now:      Fri Jul  7 10:32:18 CST 2006.
Universal Time is now:  Fri Jul  7 02:32:18 UTC 2006.
Is the above information OK?
1) Yes
2) No
#? 输入1,确认

如果不用tzselect命令,可以修改文件变更时区。

# vi /etc/sysconfig/clock  
ZONE=Asia/Shanghai(查/usr/share/zoneinfo下面的文件) 
UTC=false 
ARC=false

# rm /etc/localtime

# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

重新启动即可。

Linux如何修改系统时间和时区方法补充:

修改时区:

1>

找到相应的时区文件 /usr/share/zoneinfo/Asia/Shanghai

用这个文件替换当前的/etc/localtime文件。

或者找你认为是标准时间的服务器,然后

#scp root@xxx.xxx.xxx.xxx:/etc/localtime /etc/localtime

2>

修改/etc/sysconfig/clock文件,修改为:

ZONE="Asia/Shanghai"

UTC=false

ARC=false

修改日期时间:

1>

用date修改日期时间

#date -s 08/24/2006

#date -s 13:02:00

2>

同步BIOS时钟,强制把系统时间写入CMOS

#clock -w

另外,查看Bois时间用 #hwclock -r

#tzselect 可以交互式修改时区

Linux修改系统时区

1. 查看当前时区

# vi /etc/sysconfig/clock

2. 修改设置时区

方法(1) # tzselect 方法(2 仅限于RedHat Linux 和 CentOS) # timeconfig

3. 复制相应的时区文件,替换系统默认时区

# cp /usr/share/zoneinfo/$主时区/$次时区 /etc/localtime 对于中国服务器则执行: # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4. 将当前时间写入BIOS永久生效(避免重启后失效)

# hwclock
以上内容参考自:http://www.jbxue.com/LINUXjishu/5299.html