在Windows下,一個文件有三種時間屬性:
創建時間、修改時間、訪問時間。
而在Linux下,一個文件也有三種時間屬性:
訪問時間、修改時間、狀態改動時間。
兩者有此不同,在Linux下沒有創建時間的概念,也就是不能知道文件的建立時間,但如果文件建立後就沒有修改過,修改時間=建立時間;
如果文件建立後,狀態就沒有改動過,那麼狀態改動時間=建立時間;
如果文件建立後,沒有被讀取過,那麼訪問時間=建立時間,因為不好判斷文件是否被改過、讀過、其狀態是否變過,所以判斷文件的建立時間基本上為不可能。
Linux文件的三種時間屬性分別為:
atime,為access time的縮寫,顯示的是文件中的數據最後被訪問的時間,比如被系統的進程直接使用或者通過一些命令和腳本間接使用。(執行一些可執行文件、腳本)
mtime,為modify time的縮寫,顯示的是文件的內容被改變時的最後時間,比如用vi編輯時就會改變。(也就是Block的內容)
ctime,為change time的縮寫,顯示的是文件的權限,擁有者,所屬的組,鏈接數發生改變時的時間。當然當內容改變時,也會改變。(也就是Inode內容發生改變和Block內容發生改變時)
查看文件這三種時間的命令有:
1 ls命令
ls -lc filename 列出文件的 ctime
ls -lu filename 列出文件的 atime
ls -l filename 列出文件的 mtime
字段 說明 例子 ls(-l)
st_atime 文件數據的最後存取時間 read -u
st_mtime 文件數據的最後修改時間 write 缺省
st_ctime 文件數據的最後更改時間 chown,chmod -c
2 利用stat命令可以查看到文件的三種時間:
$ stat temp.sh
File: “temp.sh”
Size: 62 Blocks: 8 IO Block: 4096 一般文件
Device: fd00h/64768d Inode: 624522 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/signjing) Gid: ( 500/signjing)
Access: 2011-11-16 22:23:15.000000000 +0800
Modify: 2011-11-16 22:21:23.000000000 +0800
Change: 2011-11-16 22:22:38.000000000 +0800