欢迎各位兄弟 发布技术文章
这里的技术是共享的
Access\Modify\Change的初始时间记录都是文件被创建的时间
Access 指最后一次读取的时间(访问)
Modify 指最后一次修改数据的时间(修改)
Change 指最后一次修改元数据的时间(改变)
Access 意思是“访问”。
在终端上用cat、more 、less、grep、sed、 cp 、file 一个文件时,此文件的Access的时间记录都会被更新(空文件例外),纯粹的access是不会影响modify和change,但会受到modify行为的影响。
用ls -lu看到的文件时间是最近一次access的时间。对于目录而言,只是进入目录的话不会改变它的access时间,但只要用ls查看了此目录的内容(无论在何处),这个目录的access时间就会被更新。Modify 意思是“更改(内容),“或者“写入”。
当更改了一个文件的内容的时候,此文件的modify的时间记录会被更新。用ls -l看到的文件时间是最近一次modify的时间。modify的行为是三个行为中最有影响力的行为,它发生以后,会使文件的access记录与change记录也同时得到更新。对于目录也是如此。Change 改变(状态或属性)。
对一个文件或者目录作mv、chown、chgrp (chmod应该也是的)操作后,它的Change时间记录被更新,change时间会受到modify行为的影响。用ls -lc看到的文件时间是最近一次change的时间。
假如用cat命令将文件a.txt的内容输出到终端( 执行 cat a.txt), 那么只有a.txt的Access就被刷新了
假如我们把当前的时间追加到a.txt(执行 date >> a.txt) , 那么a.txt的Modify和Change都被刷新
假如我们把a.txt的权限改为777(执行 chmod 777 a.txt) , 那么只有a.txt的Change被刷新
假如我们用vi命令把文件a.txt打开, 然后保存退出,那么a.txt的Access,Modify和Change都被刷新
PS: 我们可以使用命令touch更新a.txt的Access和Modify时间。
如:
touch -d 1999-01-01 a.txt // 将a.txt的Access和Modify时间改为1999-01-01
touch -a a.txt // 只将a.txt的Access时间改为当前系统时间
touch -m a.txt // 只将a.txt的Modify时间改为当前系统时间
当我们用ls -l a.txt看到的时间是Modify时间。
来自 https://blog.csdn.net/z2766290841/article/details/72977604
stat命令输出结果中, Access,Modify,Change的含义
先建立一个空白文件a.txt
1 | [emduser@emd tmp]$ touch a.txt |
2 |
3 | [emduser@emd tmp]$ ls -al a.txt |
4 |
5 | -rw-rw-r-- 1 emduser emd 0 Dec 14 16:44 a.txt |
01 | [emduser@emd tmp]$ stat a.txt |
02 |
03 | File: `a.txt' |
04 |
05 | Size: 0 Blocks: 0 IO Block: 4096 regular empty file |
06 |
07 | Device: fd00h/64768d Inode: 654176 Links: 1 |
08 |
09 | Access: (0664/-rw-rw-r--) Uid: ( 501/ emduser) Gid: ( 506/ emd) |
10 |
11 | Access: 2011-12-14 16:44:23.000000000 +0800 |
12 |
13 | Modify: 2011-12-14 16:44:23.000000000 +0800 |
14 |
15 | Change: 2011-12-14 16:44:23.000000000 +0800 |
上述最后三行的含义如下:
Access : 文件最近一次被访问的时间
Modify: 文件内容最近一次被修改的时间
Change: 文件属性最近一次被改变的时间
假如用cat命令将文件a.txt的内容输出到终端( 执行 cat a.txt), 那么只有a.txt的Access就被刷新了
假如我们把当前的时间追加到a.txt(执行 date >> a.txt) , 那么a.txt的Modify和Change都被刷新
假如我们把a.txt的权限改为777(执行 chmod 777 a.txt) , 那么只有a.txt的Change被刷新
假如我们用vi命令把文件a.txt打开, 然后保存退出,那么a.txt的Access,Modify和Change都被刷新
来自 https://blog.csdn.net/zengmuansha/article/details/7814530