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

(0)
Net20_天意Net20_天意
上一篇 2016-06-09
下一篇 2016-06-10

相关推荐

  • 计划任务&脚本进阶练习

    1、每天的2点和12点整,将/etc备份至/testdir/backup目录中,保存的文件名称格式为“etcbak-yyyy-mm-dd-HH.tar.xz” mkdir /testdir/backup vim /root/bin/etcbak.sh tar cvf /testdir/backup/etcbak-`date “+%F-%H”`.tar.xz …

    Linux干货 2017-03-26
  • 马哥Linux第六周作业

    网络管理 进程查看及管理之ps,top,htop,dstat,vmstat

    2018-01-20
  • linux终端变量设置,文件系统,man使用说明,文件类型

    一、定义终端提示符的变量 export PS1=’\e[32m[\e[33m\u\e[31m@\e[35m\h\e[36m\t\e[34m\#\e[31m\s\e[37m\W\e[32m]\$ ‘  `]# export 是个命令      PS1指终端提示符变量    &n…

    Linux干货 2013-06-16
  • 软件包管理2

    四、程序包编译     程序包编译安装:     Application-VERSION-release.src.rpm –> 安装后,使用rpmbuild命令制作成二进制格式的rpm包,而后再安装     源代码&#82…

    Linux干货 2016-08-27
  • date初步认识

    linux命令date的初步认识

    Linux干货 2017-11-11
  • bash脚本编程

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell;分别统计这两类用户的个数;通过字符串比较来实现; #!/bin/bash declare -i loginSum=0; declare -i nologinSum=0; for x in `cat /etc/passwd|cut -d: -f 7` do if [ “/sb…

    Linux干货 2017-10-31