Linux文件的三個時間 atime,mtime,ctime,以及 relatime


 

簡介 全名 中文名 含義
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 來掛載目錄



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM