每个文件在linux下面都会记录许多的时间参数, 其实是有三个主要的变动时间,那么三个时间的意义是什么呢?

modification time (mtime) : 当该文件的“内容数据”变更时,就会更新这个时间!内
容数据指的是文件的内容,而不是文件的属性或权限喔!
status time (ctime) : 当该文件的“状态 (status) ”改变时,就会更新这个时间,举
例来说,像是权限与属性被更改了,都会更新这个时间啊。
access time (atime) : 当“该文件的内容被取用”时,就会更新这个读取时间
(access) 。举例来说,我们使用 cat 去读取 /etc/man_db.conf , 就会更新该文件的
atime 了

分号: 顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行。

&&  : 顺序执行各条命令, 只有当前一个执行成功时候, 才执行后面的。

||   : 顺序执行各条命令, 只有当前面一个执行失败的时候, 才执行后面的。

[root@study ~]# date; ls -l /etc/man_db.conf ; ls -l --time=atime /etc/man_db.conf ; \
> ls -l --time=ctime /etc/man_db.conf # 这两行其实是同一行喔!用分号隔开
Tue Jun 16 00:43:17 CST 2015 # 目前的时间啊!
-rw-r--r--. 1 root root 5171 Jun 10 2014 /etc/man_db.conf # 在 2014/06/10 创建的内容(mtime)
-rw-r--r--. 1 root root 5171 Jun 15 23:46 /etc/man_db.conf # 在 2015/06/15 读取过内容(atime)
-rw-r--r--. 1 root root 5171 May 4 17:54 /etc/man_db.conf # 在 2015/05/04 更新过状态(ctime)
# 为了要让数据输出比较好看,所以鸟哥将三个指令同时依序执行,三个指令中间用分号 (;) 隔开即可。

在默认的情况下,ls 显示出来的是该文件的 mtime ,也就是这个文件的内容上次
被更动的时间。 至于鸟哥的系统是在 5 月 4 号的时候安装的,因此,这个文件被产生导致状
态被更动的时间就回溯到那个时间点了(ctime) ! 而还记得刚刚我们使用的范例当中,有使
用到man_db.conf这个文件啊,所以啊,他的 atime 就会变成刚刚使用的时间了!

文件的时间是很重要的,因为,如果文件的时间误判的话,可能会造成某些程序无法顺利的
运行。 OK!那么万一我发现了一个文件来自未来,该如何让该文件的时间变成“现在”的时刻
呢? 很简单啊!就用“touch”这个指令即可!

  touch /etc/man_db.conf
touch命令有两个功能:一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二是用来创建新的空文件。

Tips 嘿嘿!不要怀疑系统时间会“来自未来”喔!很多时候会有这个问题的!举例来说在安装
过后系统时间可能会被改变! 因为台湾时区在国际标准时间“格林威治时间, GMT”的右边,所
以会比较早看到阳光,也就是说,台湾时间比GMT时间快了八小时! 如果安装行为不当,我
们的系统可能会有八小时快转,你的文件就有可能来自八小时后了。
至于某些情况下,由于BIOS的设置错误,导致系统时间跑到未来时间,并且你又创建了某些
文件。 等你将时间改回正确的时间时,该文件不就变成来自未来了?^_^

[root@study ~]# touch [-acdmt] 文件
选项与参数:
-a :仅修订 access time;
-c :仅修改文件的时间,若该文件不存在则不创建新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]

来自:鸟哥私房菜

最新文章

  1. vue中,class、内联style绑定、computed属性
  2. Android之vector代码修改颜色
  3. HTML表单提交
  4. 第18章 图元文件_18.2 增强型图元文件(emf)(2)
  5. JS input文本框禁用右键和复制粘贴功能的代码
  6. P132、面试题21:包含min函数的栈
  7. leecode 每日解题思路 127-Factorial Trailing Zeroes
  8. Java并发编程--同步容器
  9. self和this的不同
  10. 服务器 : Apache Tomcat - 理解架构层次
  11. SharePoint 2010 -- .Net托管客户端模型简单示例
  12. ovs之组网实验
  13. nodejs多版本管理
  14. linux 常用命令(三)ssh
  15. jQuery的addClass,removeClass和toggleClass方法
  16. python 回溯法 子集树模板 系列 —— 10、m着色问题
  17. LOJ2540. 「PKUWC2018」随机算法【概率期望DP+状压DP】
  18. HTML5、CSS3与响应式Web设计入门(1)
  19. 【剑指offer】不使用除法,构建乘积数组,C++实现
  20. MyBatis-自定义结果映射规则

热门文章

  1. Pool:小对象缓存or复用
  2. javascript之location详解
  3. git常用命令速查:创建,修改提交,撤销,切换分支,合并分支,变基解决冲突
  4. FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
  5. Java核心技术卷一基础知识-第12章-泛型程序设计-读书笔记
  6. H5中用js让页面全屏
  7. C#连接mysql数据库的一个例子和获取本机IP的方法
  8. 【MySQL】存储emoji表情报错(Incorrect string value: '\xF0\x9F\x98\x82\xF0\x9F...')的解决方案
  9. 基于.NET框架的消息通信组件ZMQ资料汇编-总目录
  10. LeetCode:1_Two_Sum | 两个元素相加等于目标元素 | Medium