【stat命令】查看文件信息

在windows下,一個文件有:創建時間、修改時間、訪問時間。
在Linux下,一個文件也有三種時間,分別是:訪問時間、修改時間、狀態改動時間
在Linux中,沒有文件創建時間的概念。只有文件的訪問時間、修改時間、狀態改變時間。也就是說不能知道文件的創建時間。但如果文件創建後就沒有修改過,修改時間=創建時間;如果文件創建後,狀態就沒有改變過,那麼狀態改變時間=創建時間;如果文件創建後,沒有被讀取過,那麼訪問時間=創建時間,這個基本不太可能。
與文件相關的幾個時間:
1、訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件運用 more、cat等命令。ls、stat命令都不會修改文件的訪問時間。
2、修改時間,是文件內容最後一次被修改時間。這個時間就會更新。比如:vi後保存文件。ls -l列出的時間就是這個時間。
3、狀態改動時間。通過chmod、chown命令修改一次文件屬性(是該文件的i節點最後一次被修改的時間),這個時間就會更新。
查看文件的詳細的狀態、準確的修改時間等,可以通過stat命令文件名。
舉例說明:
# stat out.txt 
  File: "out.txt"
  Size: 2918            Blocks: 8          IO Block: 4096   普通文件
Device: 803h/2051d      Inode: 3022338     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-18 03:29:28.000000000 +0800
Modify: 2017-07-18 03:28:54.000000000 +0800
Change: 2017-07-18 03:28:54.000000000 +0800
說明:Access訪問時間。Modify修改時間。Change狀態改變時間。
ctime=change time
atime=access time
mtime=modifiy time
可以stat *查看這個目錄所有文件的狀態
除了可以通過stat來查看文件的mtime,ctime,atime等屬性,也可以通過ls命令來查看,具體如下:
ls -lc filename 列出文件的 ctime (最後更改時間)
ls -lu filename 列出文件的 atime(最後存取時間)
ls -l filename 列出文件的 mtime (最後修改時間)
在linux中stat函數中,用st_atime表示文件數據最近的存取時間(last accessed time);用st_mtime表示文件數據最近的修改時間(last modified time);使用st_ctime表示文件i節點數據最近的修改時間(last i-node's status changed time)。
字段 說明 例子 ls(-l)
st_atime 文件數據的最後存取時間 read -u
st_mtime 文件數據的最後修改時間 write 缺省
st_ctime 文件數據的最後更改時間 chown,chmod -c
在linux系統中,系統把文件內容數據與i節點數據是分別存放的,i節點數據存放了文件權限與文件屬主之類的數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章