每个文件在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]

来自:鸟哥私房菜

ls 指令的介绍的更多相关文章

  1. invlpg 指令简单介绍

    invlpg 指令简单介绍 void tlb_invalidate(pde_t *pgdir, void *va) { // Flush the entry only if we're modifyi ...

  2. docker学习笔记18:Dockerfile 指令 VOLUME 介绍

    在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数 ...

  3. docker学习笔记12:Dockerfile 指令 ENTRYPOINT介绍

    本文介绍Dockerfile的 ENTRYPOINT指令的含义. 先回顾下CMD指令的含义,CMD指令可以指定容器启动时要执行的命令,但它可以被docker run命令的参数覆盖掉. ENTRYPOI ...

  4. Dockerfile 指令 VOLUME 介绍

    在介绍VOLUME指令之前,我们来看下如下场景需求: 1)容器是基于镜像创建的,最后的容器文件系统包括镜像的只读层+可写层,容器中的进程操作的数据持久化都是保存在容器的可写层上.一旦容器删除后,这些数 ...

  5. 西门子PLC学习笔记六-(Step7指令简单介绍)

    1.指令操作数 指令操作数由操作标示符和參数组成. 操作标识符由主标识符和辅标识符组成. 主标识符有:I(输入过程影像寄存器).Q(输出过程映像寄存器).M(位寄存器).PI(外部输入寄存器).PQ( ...

  6. 关于VUE的一些指令的介绍

    V-cloak 这是一个不常用的指令,出现这个指令的原因是因为有时候网络速度慢,还没加载完vue,代码就开始编译了,这个时候渲染出来的内容就可想而知了 <!DOCTYPE html> &l ...

  7. docker学习笔记17:Dockerfile 指令 ONBUILD介绍

    ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A ...

  8. docker学习笔记15:Dockerfile 指令 USER介绍

    USER指令用于指定容器执行程序的用户身份,默认是 root用户. 在docker run 中可以通过 -u 选项来覆盖USER指令的设置. 举例:docker run -i -t -u mysql ...

  9. docker学习笔记14:Dockerfile 指令 ENV介绍

    ENV指令用来在镜像构建过程中设置环境变量.我们来看一个Dockerfile的例子: #test FROM ubuntu MAINTAINER hello ENV MYDIR /mydir RUN m ...

随机推荐

  1. Java实现对文本文件MD5加密并ftp传送到远程主机目录

    需求描述: 客户出完账之后需要把出账的数据以文本文件的方式传送给收入管理系统,客户以前是通过本地的一个工具软件上传的,由于安全监管的原因,不允许在本地使用工具上传,因此客户希望我们在已经上线使用的系统 ...

  2. android 界面设计

    wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); DisplayMetrics dm = new DisplayMetric ...

  3. 画PCB

    1.AD16Design中Boardshape没有redefine board shape选项来修改板子的形状:{ 解决办法:在英文输入模式下按“1”键整个界面会变绿,此时就会有redefine bo ...

  4. numpy、pandas

    numpy: 仨属性:ndim-维度个数:shape-维度大小:dtype-数据类型. numpy和pandas各def的axis缺省为0,作用于列,除DataFrame的.sort_index()和 ...

  5. 利用java解压,并重命名

    由于工作需要,写了一个小工具,利用java来解压文件然后对文件进行重命名 主要针对三种格式,分别是zip,rar,7z,经过我的多次实践我发现网上的类库并不能解压最新的压缩格式 对于zip格式: ma ...

  6. NAT技术与代理服务器

    1.什么是NAT技术? NAT(network address Translation):网络地址转换 使用端口号的NAT:网络地址与端口号转换 2.理解下图就可以完全知道NAT技术的原理: 3.什么 ...

  7. 关于isNaN()函数的细节

    根据<JavaScript高级程序设计>的解释,NaN,即非数值(Not a Number),用于表示一个本来要返回数值的操作数未返回数值的情况,例如5/0就会得到NaN. 而因为NaN的 ...

  8. maven项目(多模块)

    在eclipse下构建maven项目,该项目由多个子模块组成. 1.创建一个父项目 NEW -->project-->maven-->maven Project,点击下一步,进入ne ...

  9. Dubbo 源码分析 - 集群容错之 Directory

    1. 简介 前面文章分析了服务的导出与引用过程,从本篇文章开始,我将开始分析 Dubbo 集群容错方面的源码.这部分源码包含四个部分,分别是服务目录 Directory.服务路由 Router.集群 ...

  10. mysql 连接 的drive 不一样

          DB_DRIVER 为任意名 com.mysql.jdbc.Driver 是 mysql-connector-java 5(jar包)com.mysql.cj.jdbc.Driver 是 ...