linux文件的时间


1,linux文件有哪些时间属性

    access time:atime 访问时间:即查看访问文件的时间

    modify time:mtime 修改时间:修改文件内容的时间

    change time:ctime 改变时间:修改文件元数据的时间



2,查看linux文件时间

    相关命令:stat,ls

    关于文件的:
$ stat xiaoyue.sh 
  File: `xiaoyue.sh'
  Size: 943             Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 6738796     Links: 1
Access: (0775/-rwxrwxr-x)  Uid: ( 1000/     scm)   Gid: ( 1000/     scm)
Access: 2016-06-06 16:40:48.748882380 +0800
Modify: 2016-05-31 14:01:12.963329841 +0800
Change: 2016-05-31 14:01:12.983329842 +0800
 Birth: -
    查看目录的:
$ stat XiaoYue/         
  File: `XiaoYue/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d      Inode: 3801089     Links: 33
Access: (0775/drwxrwxr-x)  Uid: ( 1000/     scm)   Gid: ( 1000/     scm)
Access: 2016-06-06 16:40:56.104882736 +0800
Modify: 2016-06-06 16:53:40.560919734 +0800
Change: 2016-06-06 16:53:40.560919734 +0800
 Birth: -
$ ls -lut xiaoyue.sh 
-rwxrwxr-x 1 scm scm 943 Jun  6 16:40 xiaoyue.sh
$ ls -lt xiaoyue.sh  
-rwxrwxr-x 1 scm scm 943 May 31 14:01 xiaoyue.sh
$ ls -lct xiaoyue.sh  
-rwxrwxr-x 1 scm scm 943 May 31 14:01 xiaoyue.sh
    同样的方式查看目录的atime mtime和ctime
$ ls -lud XiaoYue/
drwxrwxr-x 33 scm scm 4096 Jun  6 16:55 XiaoYue/


3,如何修改linux文件的时间

    相关的命令:touch,cp,mv,echo,vi,ls

    cp,mv,echo,vi,ls都会改变linux文件的时间,这里能够主动修改时间属性的命令就是touch,所以下面主要说说touch命令怎么用。

    先说touch命令的四个选项

-a 修改文件访问时间
-m 修改文件修改时间
-t STAMP 指定修改的时间
-c 如果文件不存在则不创建
  • 修改文件的三个时间属性为当前系统时间

# touch xiaoyue.sh
  • 修改文件的访问时间为系统当前时间

$ touch -a xiaoyue.sh
  • 修改文件的修改时间为当前时间

$ touch -m xiaoyue.sh

注意:atime和mtime本就是文件的时间属性,所以上面的操作也会引起ctime的改变,并且ctime是操作时的系统时间

  • 关于-t 后面指定的时间格式

[[CC]YY]MMDDhhmm[.ss] 
   年   月日时分 秒
其中年可以是2位也可以是4位,秒可以省略

然后指定修改时间

$ touch -at 201606061423.22 xiaoyue.sh
$ touch -mt 201606051423.22 xiaoyue.sh
  • touch命令后面跟一个不存在的文件命,shell会自动新建一个空的文件。不过加-c可以在文件不存在的情况下不创建新文件

other:

    a,对于文件,修改文件内容(vi)mtime会改变,ctime也一定会改变,因为文件大小信息会改变
    b,对于文件,mtime改变但ctime不一定会改变,也就是修改文件不一定访问文件
        例如:echo "add oneline" >>xiaoyue.sh   
    c,对于目录,修改目录下的某一个文件(vi)是不会改变目录atime的,但是mtime和ctime会改变。
    d,ls目录下的任意文件会改变atime,但不会改变mtime和ctime。

如果博客发表之后还可以修改就好了。。。


原创文章,作者:Net20_天意,如若转载,请注明出处:http://www.178linux.com/17834