Linux之atime,ctime,mtime的区别
> 在`Linux`中有`atime`,`ctime`,`mtime`三个时间属性容易被搞混
| 简名 | 全名 | 中文 | 作用 |
|-------|-------------|------|---------------------------------|
| atime | Access Time | 访问时间 | 最后一次访问文件(读取或执行)的时间 |
| ctime | Change Time | 变化时间 | 最后一次改变文件(属性或权限)或者目录(属性或权限)的时间|
| mtime | Modify Time | 修改时间 | 最后一次修改文件(内容)或者目录(内容)的时间 |
### 查看文件的`atime`,`ctime`,`mtime`
```
> stat rumenz.txt
File: ‘rumenz.txt’
Size: 37 Blocks: 8 IO Block: 4096 regular file
Device: fd01h/64769d Inode: 108665170 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-02-14 21:22:12.753922743 +0800
Modify: 2021-02-14 21:22:12.753922743 +0800
Change: 2021-02-14 21:22:12.753922743 +0800
Birth: ->
```
### 什么命令会修改`atime`、 `ctime`、`mtime`
| 命令 | atime | mtime | ctime |
|---------------|-------|-------|-------|
| mv | N | N | Y |
| cp | Y | N | N |
| chmod | N | N | Y |
| chown | N | N | Y |
| touch | Y | Y | Y |
| >、>> | Y | Y | Y |
| vim、vi\(不修改\) | Y | N | N |
| vim、vi\(修改\) | Y | Y | Y |
| \./test\.sh | Y | N | N |
### 为什么修改内容,三个时间都会变呢?
> 因为对文件编辑之后,不仅访问了文件(改变了atime),还增删了内容,这个文件的大小等状态也发生了变化,所以mtime、ctime变化也很正常
原文链接:https://rumenz.com/rumenbiji/linux-atime-ctime-mtime.html
微信公众号:入门小站