前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux文件时间属性 查看和修改文件时间

linux文件时间属性 查看和修改文件时间

作者头像
我是李超人
发布2020-08-20 17:05:31
8.9K0
发布2020-08-20 17:05:31
举报
文章被收录于专栏:大数据入坑指南

Linux下一个文件有三个主要的变动时间,mtime,ctime,atime: mtime(modification time):当文件的内容更改时,就会更新这个时间。 ctime(status time):当文件的状态被更改时,会更改这个时间,比如像文件的权限或者属性被更改时就会更改这个时间。 atime(access time):就是文件访问时间,当文件的内容被读取时就会更改这个时间。比如使用cat指令读取某个文件时,这个时间就会被更改。

者三个时间可以使用可以同过加 –time 参数来获取 ll 文件名 这种方式会默认展现mtime ll –time=atime 文件名 获取atime ll –time=ctime 文件名 获取ctime

代码语言:javascript
复制
[root@localhost tmp]# ll timetest 
-rw-r--r-- 1 root root 0 Oct 29 22:19 timetest
[root@localhost tmp]# ll --time=atime timetest 
-rw-r--r-- 1 root root 0 Oct 29 22:19 timetest
[root@localhost tmp]# ll --time=ctime timetest 
-rw-r--r-- 1 root root 0 Oct 29 22:19 timetest

上面这个例子中,我的文件是刚刚创建的,所以显示的时间都是一样的。可以过几分钟用cat指令访问这个文件,再使用chmod指令修改这个文件权限,在来查看这个文件的三个时间时,会发现有变化了。

有时候由于时区等问题,你的文件时间可能和标准时间不一致,这个时候就可以使用touch指令来修改文件时间。

把时间修改到三天前

代码语言:javascript
复制
[root@localhost tmp]# touch -d "3 days ago" timetest 
[root@localhost tmp]# ll timetest ; ll --time=atime timetest ; ll --time=ctime timetest 
-rw-r--r-- 1 root root 0 Oct 26 22:29 timetest
-rw-r--r-- 1 root root 0 Oct 26 22:29 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:29 timetest

把时间修改到某一个具体的时间点

代码语言:javascript
复制
[root@localhost tmp]# touch -t 1710262210 timetest 
[root@localhost tmp]# ll timetest ; ll --time=atime timetest ; ll --time=ctime timetest 
-rw-r--r-- 1 root root 0 Oct 26 22:10 timetest
-rw-r--r-- 1 root root 0 Oct 26 22:10 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:30 timetest

注意:上面两个指令都指修改了mtime和atime ,ctime并没有被修改,要想修改ctime可以使用touch -c 文件 来实现

代码语言:javascript
复制
[root@localhost tmp]# touch -c timetest 
[root@localhost tmp]# ll timetest ; ll --time=atime timetest ; ll --time=ctime timetest 
-rw-r--r-- 1 root root 0 Oct 29 22:35 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:35 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:35 timetest

touch -c 文件名 这个指令会修改文件的三个时间,当文件不存在时会创建文件 touch -a 文件名 这个指令我使用man来查看时,上面说明只会修改文件的访问时间,但是在实际操作的时候发现除了mtime每变之外,atime和ctime都发生了改变。这个就有点百思不得其解了。先在这做个标记吧,有大神知道也可以指点一下。

代码语言:javascript
复制
[root@localhost tmp]# touch -a timetest 
[root@localhost tmp]# ll timetest ; ll --time=atime timetest ; ll --time=ctime timetest 
-rw-r--r-- 1 root root 0 Oct 29 22:35 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:37 timetest
-rw-r--r-- 1 root root 0 Oct 29 22:37 timetest
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017/10/29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档