当前位置 主页 > 服务器问题 > Linux/apache问题 >

    详解Linux命令修改文件的三个时间

    栏目:Linux/apache问题 时间:2019-10-15 12:16

    Linux命令如何修改文件的三个时间

    本文主要对stat和touch两个命令进行讲解。

    如何查看一个文件的元数据呢?可以使用stat命令。

    File: 'ceshi1'  文件所在路径

      Size: 4096       Blocks: 8 文件占据的磁盘块          IO Block: 4096   directory 文件类型

    Device: 801h/2049d  文件所在的设备名 Inode: 378  文件索引节点号        Links: 4 被硬链接的次数

    Access: (0775/drwxrwxr-x) 文件的用户权限  Uid: ( 1000/houhaibo) 文件的属主ID及属主名  Gid: ( 1000/houhaibo)文件的属组及属组名

    Access: 2017-02-27 00:00:00.000000000 -0800    文件的最近一次访问时间

    Modify: 2016-12-25 22:48:47.523724399 -0800      文件的最近内容修改时间

    Change: 2017-02-03 19:34:56.273575429 -0800   文件的最近元数据修改时间

     Birth: -

    下面对stat命令进行详细的讲解

     stat [OPTION]... FILE...     显示文件或文件系统的元数据
     -f, --file-system   显示文件系统的元数据
    -c  --format=FORMAT   使用具体的输出格式代替默认的输出格式

    FORMAT 的格式如下:

    %A : 显示人类可读的访问权限
    %y:数据修改时间
    %Y: 以时间戳的形式显示数据修改时间

    还有很多格式,具体请使用man 命令查看
    由上可以知道文件包含三个时间,即最近的访问时间、最近的内容修改时间、文件的元数据修改时间。而如何手动的修改这三个时间呢?那就用到touch命令

    下面对touch命令进行讲解

     touch [OPTION]... FILE...     修改文件时间戳

    其实touch命令不仅可以修改文件时间戳,还可以创建文件。即当touch后的文件名不存在时,系统会自动创建文件。

    一般默认会将文件的访问时间和内容修改时间更新到当前时间。

    -a  只改变访问时间
    -m  只改变内容修改时间
    -c  不创建任何文件
    -d  设置修改的时间
    -t   用[[CC]YY]MMDDhhmm[.SS]

     格式代替当前时间

    cc 指定年份的前两位数字。
     yy 指定年份的后两位数字。
     mm指定一年的哪一月(从 01 到 12)。
     dd指 定一月的哪一天(从 01 到 31)。
     hh指 定一天中的哪一小时(从 00 到 23)。
     mm指 定一小时的哪一分钟(从 00 到 59)。
     ss指定一分钟的哪一秒(从 00 到 59)。

    感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!