在windows下一個檔案有三種時間屬性:
1>建立時間
2>修改時間
3>通路時間
相似的在Linux下一個檔案也有三種時間屬性:
(與windows不同的是linux沒有建立時間,而多了個通路時間)
1>通路時間(access time 簡寫為atime)
2>修改時間(modify time 簡寫為mtime)
3>狀态修改時間(change time 簡寫為ctime)
關于Linux底下三種時間的簡單介紹:
atime:(access time)顯示的是檔案中的資料最後被通路的時間,比如系統
的程序直接使用或通過一些指令和腳本間接使用。(執行一些可執行檔案或腳本)
mtime: (modify time)顯示的是檔案内容被修改的最後時間,比如用vi編輯
時就會被改變。(也就是Block的内容)
ctime: (change time)顯示的是檔案的權限、擁有者、所屬的組、連結數發
生改變時的時間。當然當内容改變時也會随之改變(即inode内容發生改變和Block内容
發生改變時)
下來小編我給大家看一個執行個體
首先打開我的終端Terminal,(cd XXX)進入自己所要建檔案的目錄底下(我的
目錄為cmd),(touch xxx,建一個檔案,我的檔案名為file.txt)),(vim xxx)打開
你所建的檔案,并且修改其内容,退出該檔案。
POSIX面向多個connector, 比如nodejs的fs核心子產品, 做portless的crud也是非常友善的.
檢視這三種時間:
使用的指令為:
stat filename
如下圖:
在此說明:
(因為我們在建立檔案之後修改過檔案是以三個時間是不一樣的,如果隻是單純地創
建檔案,那麼它們三個應該是相等的。)
擴充知識:
另外,從kernel2.6.29開,還預設內建了一個relatime的屬性。可能是因為在檔案讀操作很頻繁的系統
中,atime更新所帶來的開銷很大,是以很多SA都在挂裝檔案系統的時候使用noatime屬性來停止更新atime。但是有些程式需要根據atime進行一些判斷和操作,是以Linux就推出了一個relatime特性。
使用這個特性來挂裝檔案系統後,隻有當mtime比atime更新的時候,才會更新atime。事實上,這個時候atime和mtime已經是同一個東西了。是以這個選項就是為了實作對atime的相容才推出的。并不是一個新的時間屬性。使用方法就是通過mount -o relatime /dir來挂裝目錄.
》》》》》到此結束!