linux stat查看文件詳細信息
[root@oldboy01 tmp]# stat /tmp/1.cc
File: `/tmp/1.cc'
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 261989 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-08-11 11:14:09.307726283 +0800
Modify: 2018-08-06 16:27:52.630404197 +0800
Change: 2018-08-06 16:27:52.630404197 +0800
在Linux中,沒有文件創建時間的概念。只有文件的訪問時間、修改時間、狀態改變時間。也就是說不能知道文件的創建時間。但如果文件創建后就沒有修改過,修改時間=創建時間;如果文件創建后,狀態就沒有改變過,那么狀態改變時間=創建時間;如果文件創建后,沒有被讀取過,那么訪問時間=創建時間,這個基本不太可能。
與文件相關的幾個時間:
- 1、Access 訪問時間,讀一次這個文件的內容,這個時間就會更新。比如對這個文件使用more、cat命令。ls、stat命令都不會修改文件的訪問時間。
- 2、Modify 修改時間,對文件內容修改一次,這個時間就會更新。比如:vi后保存文件。ls -l列出的時間就是這個時間。
- 3、Change 狀態改動時間。是該文件的i節點最后一次被修改的時間,通過chmod、chown命令修改一次文件屬性,這個時間就會更新。
另個除了可以通過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)。
在linux系統中,系統把文件內容數據與i節點數據是分別存放的,i節點數據存放了文件權限與文件屬主之類的數據。