轉自:http://blog.csdn.net/signjing/article/details/7723516node
在windows下,一個文件有三種時間屬性:linux
建立時間、修改時間、訪問時間。
而在Linux下,一個文件也有三種時間屬性:windows
訪問時間、修改時間、狀態改動時間。ide
二者有此不一樣,在Linux下沒有建立時間的概念,也就是不能知道文件的創建時間,但spa
若是文件創建後就沒有修改過,修改時間=創建時間;.net
若是文件創建後,狀態就沒有改動過,那麼狀態改動時間=創建時間;blog
若是文件創建後,沒有被讀取過,那麼訪問時間=創建時間,由於很差判斷文件是否被改過、讀過、其狀態是否變過,因此判斷文件的創建時間基本上爲不可能。進程
linux文件的三種時間屬性分別爲:get
atime,爲access time的縮寫,顯示的是文件中的數據最後被訪問的時間,好比被系統的進程直接使用或者經過一些命令和腳本間接使用。(執行一些可執行文件、腳本)it
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