zoukankan      html  css  js  c++  java
  • Linux中用stat命令查看文件时3个时间点解析

    有些时候,我们需要在Linux中使用stat命令来查看文件的详细信息。另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下。

    首先,我们来看下stat情况:

    如图所示,会出现3个类型的时间,分别是Access,Modify,Change。下面我们就对这3个时间进行详细解释下。

    access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间

    modify time:表示我们最后一次修改文件的时间

    change time:表示我们最后一次对文件属性改变的时间,包括权限,大小,属性等等。

    例如,我们使用cat命令来查看下此文件:

    Linux中用stat命令查看文件时3个时间点解析

    此时,文件的access 时间修改了。access时间我们可以理解为我们最后一次访问文件的时间。

    我们再来看下change时间的情况:

    Linux中用stat命令查看文件时3个时间点解析

    此时,当我们修改文件的属性等时,change 的时间会随着改变,但modify时间是不变的,因为我们没有对文件内容进行修改。

    下面我们接着看modify时间的情况:

    Linux中用stat命令查看文件时3个时间点解析

    此时我们可以看到,3个时间点都发生了改变。

    由此,我们可以知道

    1,当我们仅仅只是读取文件时,access time 改变,而modify,change time 不会改变

    2,当修改文件时,access,modify,change time 都会跟着改变

    3,当修改文件属性时,change time 改变,而access,modify time 不变。

    那么,我们使用的命令ls -l显示的又是什么时间呢?touch修改文件的时间戳的时候修改的是什么时间呢?

    那我们来继续看下。

    ls -l 显示的时间

    Linux中用stat命令查看文件时3个时间点解析

    此时,对比能够发现,ls -l显示的时间是文件的修改时间。

    最后,touch修改的又是什么时间呢?

    首先我们看下touch的man帮助即可帮我找到答案。

    Linux中用stat命令查看文件时3个时间点解析

    不信的话我们再试试看。(不过呢,如果不加参数的话,是所有的时间都会修改掉的。上图中的man touch中有个-a参数,只修改access时间。这个加参数的大家可以自己试下。)

    我们直接touch b.txt吧,因为b.txt文件已经存在了,不会新建而是修改其时间戳。

    Linux中用stat命令查看文件时3个时间点解析

    至此,我想大家应该搞明白了这几个命令的时间问题了。不懂的可以留言我们讨论下。

    有不对的地方还请大神指点。互相学习。

  • 相关阅读:
    Asp.net Json 解析 与 直接用ip访问返回josn
    mysql 时间函数
    Android之TelephonyManager类的使用案例
    android:screenOrientation的说明 固定屏幕显示方向
    在android.app.Application中定义全局变量
    Android开发实例详解之IMF(Android SDK Sample—SoftKeyboard)
    Android InputMethodManager输入法简介
    android ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
    VS编译常见错误枚举01
    Visual C++ Samples-------------Code Project
  • 原文地址:https://www.cnblogs.com/duanxz/p/4883051.html
Copyright © 2011-2022 走看看