Linux的3個文件時間

導讀 文件時間是文件的訪問時間、修改時間、和改變時間。atime在Linux的文件系統中被稱爲訪問時間,當文件的內容被訪問時,就會更新這個時間,mtime指的是當“內容數據”被修改時,Linux系統會去更新這個時間,ctime是Linux系統中的狀態時間,當文件的狀態即文件的屬性被改變是就會更改這個時間。
文件的三個時間

相信大家都已經很熟悉windows操作系統了,當我們在windows系統下創建一個文件時,系統同時會爲這個文件建立相關的參數去描述這個文件,如圖:

這些參數包括文件的大小,文件類型,位置,,以及創建、修改、訪問這三個文件時間。那麼我們看看再Linux系統下是否會有相似的參數呢?
在Linux下,我們可以用stat+文件名查看文件的相關參數,具體參數解釋如下圖:

在Linux中的文件系統下,我們發現除了文件的大小,文件名,文件時間等,還多了Inode號和block的相關信息,這主要和Linux文件系統的構成有關,在Linux下一個文件具有一個Inode號,一個Inode號對應着至少一個block塊,bolck是訪問文件內容的結構,文件block塊的個數和文件的大小有關,並且在Linux系統下,block塊的大小是固定的。今天我們主要介紹一下Linux系統下的三個時間,他們分別是
Access Time(訪問時間)、Modify Time(修改時間)、Change Time(改變時間)。

atime

atime是Access Time的簡寫,它在Linux的文件系統中被稱爲訪問時間,當文件的內容被訪問時,就會更新這個時間,例如我們使用cat、more、less等命令查看文件的內容時,文件的訪問時間就會被更新,如下圖:

mtime

mtime是Modification Time的簡寫,它指的是當“內容數據”被修改時,Linux系統會去更新這個時間,例如:我們用echo,vim等指令向文件寫數據

在上圖中,當我們用echo指令向test.txt文件中寫入字符串時,我們發現mtime和下面我們要提到的ctime都被改了,先讓我們進入下面的ctime中去看看爲什麼會產生這樣的結果把!

ctime

ctime是Linux系統中的status time,即狀態時間,當文件的狀態即文件的屬性被改變是就會更改這個時間,例如文件系統中的links(鏈接數),size(文件的大小)、文件的權限、blocks(文件的block數);當這些參數被改變時,Linux就會更改該文件所對應的這個時間參數。

現在你可能會明白剛纔修改文件的mtime時爲什麼文件的ctime也會跟着被改變了吧,因爲當文件的內容被修改,文件的大小即size是一定會發生改變的,所以文件的狀態時間會隨着文件的內容被修改從而被更新。所以說文件的mtime被修改,該文件的ctime也會被改變。

查看文件時間的其他方式

1.ls -l +–time=xx時間+文件名;

該種查詢方法默認情況下顯示的是文件的mtime.

2.ls -lx +文件名

這種查詢方式中
c<—->ctime
u<—->atime
ls -lc filename 列出文件的 ctime (最後更改時間)

ls -lu filename 列出文件的 atime(最後存取時間)

ls -l filename 列出文件的 mtime (最後修改時間)

總結

三個文件時間記錄了Linux文件系統下的文件被訪問,修改,以及改變的時間,當Linux下的文件或者程序出現問題,我們可以通過查詢這些時間來判斷我們什麼時候做了什麼操作從而對這些文件產生了影響。


本文轉載自:http://www.linuxprobe.com/linux-file-time.html

免費提供最新Linux技術教程書籍,爲開源技術愛好者努力做得更多更好:http://www.linuxprobe.com/

發佈了268 篇原創文章 · 獲贊 14 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章