• linux文件时间的查看和改动touch


    1. linux文件的时间


    linux下文件时间主要有以下三种:

    1.1 modification time(mtime)


    文件改动时间。即文件内容的改动时,更新这个时间。不包含文件权限和属性的改动。

    使用ls -l查看。默认显示时间为mtime
    $ ls -l uconv.h
    -rw-rw-r--  1 work work 1808 Jul 23  2013 uconv.h

    1.2 status time(ctime)


    文件状态status的改动时间,如文件的权限和属性改动时更新这个时间。
    使用 ls --time=ctime 查看
    $ ls -l --time=ctime uconv.h 
    -rw-rw-r--  1 work work 1808 Jul 23  2013 uconv.h

    1.3 access time(atime)


    文件訪问时间,当文件内容被获取时。更新这个时间。
    使用 ls --time=actime 查看
    $ ls -l --time=atime uconv.h
    -rw-rw-r--  1 work work 1808 Dec 12  2013 uconv.h

    2. 改动文件的时间


    假设须要改动上述三个时间,使用touch命令来改动。
    touch filename ,假设文件不存在,则新建一个文件。

    $ touch --help
    Usage: touch [OPTION]... FILE...
    Update the access and modification times of each FILE to the current time.
    
      -a                     change only the access time
                             改动訪问时间
      -c, --no-create        do not create any files
                             改动文件三个时间,不存在则不创建
      -d, --date=STRING      parse STRING and use it instead of current time
                             指定时间取代当前时间
      -f                     (ignored)
      -m                     change only the modification time
                             改动mtime
      -r, --reference=FILE   use this file's times instead of current time
      -t STAMP               use [[CC]YY]MMDDhhmm[.ss] instead of current time
                             指定改动时间

    比如:
    $ touch -d "2 days ago" uconv.h
    $ ll uconv.h ; ll --time=atime uconv.h ; ll --time=ctime uconv.h ;
    -rw-rw-r--  1 work work 1808 Jun 13 18:17 uconv.h
    -rw-rw-r--  1 work work 1808 Jun 13 18:17 uconv.h
    -rw-rw-r--  1 work work 1808 Jun 15 18:17 uconv.h
    将mtime和atime改动为两天前,ctime没变。
    $ touch -t 201406142020 uconv.h   
    
    $ ll uconv.h ; ll --time=atime uconv.h ; ll --time=ctime uconv.h ;
    -rw-rw-r--  1 work work 1808 Jun 14 20:20 uconv.h
    -rw-rw-r--  1 work work 1808 Jun 14 20:20 uconv.h
    -rw-rw-r--  1 work work 1808 Jun 15 18:23 uconv.h
    atime和mtime都变了,可是ctime变成了当前时间。


    使用cp命令。-a保持原属性。

    $ cp -a uconv.h uconv.h1
    
    $ ll uconv.h1 ; ll --time=atime uconv.h1 ; ll --time=ctime uconv.h1 ;
    -rw-rw-r--  1 work work 1808 Jun 14 20:20 uconv.h1
    -rw-rw-r--  1 work work 1808 Jun 15 18:25 uconv.h1
    -rw-rw-r--  1 work work 1808 Jun 15 18:27 uconv.h1
    mtime和atime都保持原文件不变,可是ctime变成当前时间


  • 相关阅读:
    经典排序算法--快速排序
    经典排序算法——希尔排序
    经典排序算法——插入排序
    经典排序算法——选择排序
    经典排序算法——冒泡排序
    java递归求八皇后问题解法
    学习当前流行框架,同时也要自己去造建议的框架
    如何提高服务器并发处理能力
    数据的校验和空指针
    编写程序流程
  • 原文地址:https://www.cnblogs.com/jhcelue/p/7052837.html
Copyright © 2020-2023  润新知