你應(yīng)該知道Linux的這三個(gè)文件時(shí)間

責(zé)任編輯:editor005

2017-01-06 14:12:36

摘自:51CTO

相信大家都已經(jīng)很熟悉windows操作系統(tǒng)了,當(dāng)我們?cè)趙indows系統(tǒng)下創(chuàng)建一個(gè)文件時(shí),系統(tǒng)同時(shí)會(huì)為這個(gè)文件建立相關(guān)的參數(shù)去描述這個(gè)文件

文件的三個(gè)時(shí)間

相信大家都已經(jīng)很熟悉windows操作系統(tǒng)了,當(dāng)我們?cè)趙indows系統(tǒng)下創(chuàng)建一個(gè)文件時(shí),系統(tǒng)同時(shí)會(huì)為這個(gè)文件建立相關(guān)的參數(shù)去描述這個(gè)文件,如圖:

這些參數(shù)包括文件的大小,文件類(lèi)型,位置,,以及創(chuàng)建、修改、訪問(wèn)這三個(gè)文件時(shí)間。那么我們看看再Linux系統(tǒng)下是否會(huì)有相似的參數(shù)呢?

在Linux下,我們可以用stat+文件名查看文件的相關(guān)參數(shù),具體參數(shù)解釋如下圖:

在Linux中的文件系統(tǒng)下,我們發(fā)現(xiàn)除了文件的大小,文件名,文件時(shí)間等,還多了Inode號(hào)和block的相關(guān)信息,這主要和Linux文件系統(tǒng)的構(gòu)成有關(guān),在Linux下一個(gè)文件具有一個(gè)Inode號(hào),一個(gè)Inode號(hào)對(duì)應(yīng)著至少一個(gè)block塊,bolck是訪問(wèn)文件內(nèi)容的結(jié)構(gòu),文件block塊的個(gè)數(shù)和文件的大小有關(guān),并且在Linux系統(tǒng)下,block塊的大小是固定的。今天我們主要介紹一下Linux系統(tǒng)下的三個(gè)時(shí)間,他們分別是

Access Time(訪問(wèn)時(shí)間)、Modify Time(修改時(shí)間)、Change Time(改變時(shí)間)。

atime

atime是Access Time的簡(jiǎn)寫(xiě),它在Linux的文件系統(tǒng)中被稱為訪問(wèn)時(shí)間,當(dāng)文件的內(nèi)容被訪問(wèn)時(shí),就會(huì)更新這個(gè)時(shí)間,例如我們使用cat、more、less等命令查看文件的內(nèi)容時(shí),文件的訪問(wèn)時(shí)間就會(huì)被更新,如下圖:

  mtime

mtime是Modification Time的簡(jiǎn)寫(xiě),它指的是當(dāng)“內(nèi)容數(shù)據(jù)”被修改時(shí),Linux系統(tǒng)會(huì)去更新這個(gè)時(shí)間,例如:我們用echo,vim等指令向文件寫(xiě)數(shù)據(jù)

在上圖中,當(dāng)我們用echo指令向test.txt文件中寫(xiě)入字符串時(shí),我們發(fā)現(xiàn)mtime和下面我們要提到的ctime都被改了,先讓我們進(jìn)入下面的ctime中去看看為什么會(huì)產(chǎn)生這樣的結(jié)果把!

ctime

ctime是Linux系統(tǒng)中的status time,即狀態(tài)時(shí)間,當(dāng)文件的狀態(tài)即文件的屬性被改變是就會(huì)更改這個(gè)時(shí)間,例如文件系統(tǒng)中的links(鏈接數(shù)),size(文件的大小)、文件的權(quán)限、blocks(文件的block數(shù));當(dāng)這些參數(shù)被改變時(shí),Linux就會(huì)更改該文件所對(duì)應(yīng)的這個(gè)時(shí)間參數(shù)。

現(xiàn)在你可能會(huì)明白剛才修改文件的mtime時(shí)為什么文件的ctime也會(huì)跟著被改變了吧,因?yàn)楫?dāng)文件的內(nèi)容被修改,文件的大小即size是一定會(huì)發(fā)生改變的,所以文件的狀態(tài)時(shí)間會(huì)隨著文件的內(nèi)容被修改從而被更新。所以說(shuō)文件的mtime被修改,該文件的ctime也會(huì)被改變。

查看文件時(shí)間的其他方式

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

該種查詢方法默認(rèn)情況下顯示的是文件的mtime.

2.ls -lx +文件名

這種查詢方式中

c<—->ctime

u<—->atime

ls -lc filename 列出文件的 ctime (最后更改時(shí)間)

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

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

總結(jié)

三個(gè)文件時(shí)間記錄了Linux文件系統(tǒng)下的文件被訪問(wèn),修改,以及改變的時(shí)間,當(dāng)Linux下的文件或者程序出現(xiàn)問(wèn)題,我們可以通過(guò)查詢這些時(shí)間來(lái)判斷我們什么時(shí)候做了什么操作從而對(duì)這些文件產(chǎn)生了影響。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)