linux 修改时间

本文介绍如何使用hwclock和clock命令查看和设置硬件时间,包括同步系统与硬件时钟的方法,以及如何通过修改配置文件来设置系统时区。
hwclock/clock 命令查看、设置硬件时间

查看系统硬件时钟

hwclock  --show 或者

clock  --show

设置硬件时间

 hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)



同步系统及硬件时钟。

下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,

硬件时钟与系统时钟同步:

# hwclock --hctosys 或者 # clock --hctosys  hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

系统时钟和硬件时钟同步:

# hwclock --systohc或者# clock --systohc  即用系统时钟同步硬件时钟



时区设置:

        开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍一下如何使用tzselect命令设置时区,以及如何通过修改/etc/sysconfig/clock配置文件来设置时区。

2

 tzselect:

执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。过程如下图:



 执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ='Asia/Shanghai'; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。参考下图中date命令看到的结果,最终时区显示为CST,即中国标准时间。


修改配置文件来修改时区1、修改/etc/sysconfig/clock         ZONE=Asia/Shanghai

2、rm /etc/localtime3、链接到上海时区文件       

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

执行完上述过程后,重启机器,即可看到时区已经更改。


### 如何在 Linux修改文件时间和系统日期时间 #### 修改文件时间Linux 系统中,可以通过 `touch` 命令来修改文件的时间属性。具体来说,`touch` 可以更新文件的访问时间 (atime) 和修改时间 (mtime),而不会改变其实际内容。 以下是使用 `touch` 修改文件时间的具体方法: ```bash touch -a file_name # 更新文件的访问时间 (atime) touch -m file_name # 更新文件的修改时间 (mtime) touch -t [[CC]YY]MMDDhhmm[.ss] file_name # 设置特定时间戳 ``` 例如,如果要将某个文件的时间设置为 2023 年 10 月 5 日上午 9:30,则可以运行以下命令[^1]: ```bash touch -t 202310050930 file_name ``` 需要注意的是,Linux 文件系统的三个主要时间属性分别为访问时间 (`atime`)、修改时间 (`mtime`) 和更改时间 (`ctime`)。其中,`ctime` 表示元数据最后一次被更改的时间,无法通过 `touch` 来直接修改[^2]。 --- #### 修改系统日期和时间 对于调整整个系统的日期和时间,在 Linux 中可使用 `date` 或者 `timedatectl` 命令完成此操作。 ##### 使用 `date` 命令 `date` 是一种简单的方式用于显示当前系统时间或者设定新的时间值。语法如下所示: ```bash sudo date --set="YYYY-MM-DD HH:MM:SS" ``` 比如,为了把系统时间设成 2023 年 8 月 17 日下午 3 点整,执行下面这条指令即可[^3]: ```bash sudo date --set="2023-08-17 15:00:00" ``` ##### 使用 `timedatectl` 命令 现代版本的 Linux 发行版通常推荐采用更高级别的工具——`timedatectl` 进行管理硬件时钟以及同步网络时间协议服务等功能的操作。它不仅能够配置本地时间区域而且还能控制 NTP 客户端行为等更多选项。 设置新时间为指定格式的例子如下: ```bash sudo timedatectl set-time 'YYYY-MM-DD HH:MM:SS' ``` 同样以上述例子为例, 将系统时间改为相同目标时刻应输入: ```bash sudo timedatectl set-time '2023-08-17 15:00:00' ``` 注意:无论是哪种方式都需要超级用户权限才能生效,并且建议仅当确实必要时才手动干预系统级计时器以防潜在风险影响到依赖精确定时的应用程序正常运作. --- #### 验证改动后的状态 无论你是改变了单个文件还是整体机器上的日历读数之后都可能希望确认所做的变更是否成功应用到了预期位置上。针对前者可以用之前提到过的 `ls -l`, 而后者则借助于简单的调用无参数形式下的原始 `date` 输出即可见效果验证。 ```bash ls -l file_name # 查看文件详情含时间字段 date # 打印当前服务器官方认定的标准纪年表述字符串 ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值