簡介 | 全名 | 中文名 | 含義 |
atime | access time | 訪問時間 | 最后被訪問的時間 |
mtime | modify time | 修改時間 | 文件內容被修改的最后時間 |
ctime | change time | 變化時間 | 文件的元數據發生變化,比如:權限,所有者等 |
查看文件的三個時間:
[root@centos7 time]# stat issue File: ‘issue’ Size: 59 Blocks: 8 IO Block: 4096 regular file Device: 805h/2053d Inode: 261123 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:etc_runtime_t:s0 Access: 2017-11-11 08:15:05.650986739 +0800 Modify: 2017-11-11 08:15:05.650986739 +0800 Change: 2017-11-11 08:15:05.650986739 +0800 Birth: -
查看文件的 mtime
[root@centos7 time]# ls -l #默認的ls -l顯示的是mtime
total 8
-rw-------. 1 root root 1933 Nov 11 08:14 anaconda-ks.cfg
-rw-r--r--. 1 zhaojiedi root 71 Nov 11 09:05 issue
修改 mtime
touch -d "2020-02-02 02:02:02" 文件
按照 文件1的mtime時間,設定文件2的 mtime
touch -r 文件1 文件2
查看文件 atime
[root@centos7 time]# ls -l --time=atime #列出文件的atime
total 8
-rw-------. 1 root root 1933 Nov 11 08:14 anaconda-ks.cfg
-rw-r--r--. 1 zhaojiedi root 71 Nov 11 09:12 issue
查看文件 ctime
[root@centos7 time]# ls -l --time=ctime #列出ctime
total 8
-rw-------. 1 root root 1933 Nov 11 08:14 anaconda-ks.cfg
-rw-r--r--. 1 zhaojiedi root 71 Nov 11 09:03 issue
atime,mtime,ctime 的變化情況:
1.讀取文件后,文件的atime發生了改變。其他的沒有改變。
2.寫文件操作不會導致atime(訪問時間)的修改,但是mtime和ctime會發生修改。那為何ctime也修改了呢, 仔細可以發現我們文件的大小發生了變化,也就是元數據發生了變化,所以ctime也是要變化的。
3.修改了權限后,文件ctime發生了變化。其他的沒有改變。
擴展 relatime:
每次訪問文件都會更新atime,web服務器上,大量用戶訪問html頁面,每次都更新,會很耗費資源,這種情況沒有必要更新atime
從kernal2.6.29開始,還默認集成了一個reltime屬性,掛載文件系統時,使用noatime屬性來停止更新atime,但是有些程序需要根據atime進行一些判斷和操作,所以推出了 relatime屬性。
使用這個特性來掛載文件系統后,只有當mtime比atime更新的時候,才會更新atime。
事實上,這個時候atime和mtime已經是同一個東西了。這個選項就是為了實現對atime的兼容才推出的。並不是新的時間屬性。
使用方法:mount -o relatime /dir 來掛載目錄