歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux中用stat命令查看文件時3個時間點解析

Linux中用stat命令查看文件時3個時間點解析

日期:2017/2/28 14:23:54   编辑:Linux教程

有些時候,我們需要在Linux中使用stat命令來查看文件的詳細信息。另外聯想下,ls -l命令顯示的是什麼時間,touch命令修改文件的時間戳,修改的又是什麼時間?在這裡我們一起來試驗下。

stat -- 獲取比 ls 更多的信息 http://www.linuxidc.com/Linux/2014-10/108333.htm

首先,我們來看下stat情況

如圖所示,會出現3個類型的時間,分別是Access,Modify,Change。下面我們就對這3個時間進行詳細解釋下。

access time:表示我們最後一次訪問(僅僅是訪問,沒有改動)文件的時間

modify time:表示我們最後一次修改文件的時間

change time:表示我們最後一次對文件屬性改變的時間,包括權限,大小,屬性等等。

例如,我們使用cat命令來查看下此文件:

此時,文件的access 時間修改了。access時間我們可以理解為我們最後一次訪問文件的時間。

我們再來看下change時間的情況:

此時,當我們修改文件的屬性等時,change 的時間會隨著改變,但modify時間是不變的,因為我們沒有對文件內容進行修改。

下面我們接著看modify時間的情況:

此時我們可以看到,3個時間點都發生了改變。

由此,我們可以知道

1,當我們僅僅只是讀取文件時,access time 改變,而modify,change time 不會改變

2,當修改文件時,access,modify,change time 都會跟著改變

3,當修改文件屬性時,change time 改變,而access,modify time 不變。

那麼,我們使用的命令ls -l顯示的又是什麼時間呢?touch修改文件的時間戳的時候修改的是什麼時間呢?

那我們來繼續看下。

ls -l 顯示的時間

此時,對比能夠發現,ls -l顯示的時間是文件的修改時間。

最後,touch修改的又是什麼時間呢?

首先我們看下touch的man幫助即可幫我找到答案。

不信的話我們再試試看。(不過呢,如果不加參數的話,是所有的時間都會修改掉的。上圖中的man touch中有個-a參數,只修改access時間。這個加參數的大家可以自己試下。)

我們直接touch b.txt吧,因為b.txt文件已經存在了,不會新建而是修改其時間戳。

至此,我想大家應該搞明白了這幾個命令的時間問題了。不懂的可以留言我們討論下。

有不對的地方還請大神指點。互相學習。

Copyright © Linux教程網 All Rights Reserved