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