linux stat 命令檢視檔案資訊

2021-09-07 08:43:25 字數 2919 閱讀 1578

在linux中,沒有檔案建立時間的概念。只有檔案的訪問時間、修改時間、狀態改變時間。也就是說不能知道檔案的建立時間。但如果檔案建立後就沒有修改過,修改時間=建立時間;如果檔案建立後,狀態就沒有改變過,那麼狀態改變時間=建立時間;如果檔案建立後,沒有被讀取過,那麼訪問時間=建立時間,這個基本不太可能。

1、訪問時間,讀一次這個檔案的內容,這個時間就會更新。比如對這個檔案使用more命令。ls、stat命令都不會修改檔案的訪問時間。

2、修改時間,對檔案內容修改一次,這個時間就會更新。比如:vi後儲存檔案。ls -l列出的時間就是這個時間。

3、狀態改變時間。通過chmod命令更改一次檔案屬性,這個時間就會更新。檢視檔案的詳細的狀態、準確的修改時間等,可以通過stat命令檔名。

比如: [jing@zhjh c]$ stat temp.c

引用:file: 'temp.c'

size: 66 blocks: 8 io block: 4096 \u4e00\u822c\u6587\u4ef6

device: 807h/2055d inode: 1191481 links: 1

access: (0664/-rw-rw-r--) uid: ( 500/ jing) gid: ( 500/ jing)

access: 2008-03-12 20:19:45.000000000 0800

modify: 2008-03-12 20:19:45.000000000 0800

change: 2008-03-12 20:19:45.000000000 0800

說明:access訪問時間。modify修改時間。change狀態改變時間。可以stat *檢視這個目錄所有檔案的狀態

在windows下,乙個檔案有:建立時間、修改時間、訪問時間。 而

在linux下,乙個檔案也有三種時間,分別是:訪問時間、修改時間、狀態改動時間

兩者有此不同,

在linux下沒有建立時間的概念,也就是不能知道檔案的建立時間,但如果檔案建立後就沒有修改過,修改時間=建立時間;如果檔案建立後,狀態就沒有改動過,那麼狀態改動時間=建立時間;如果檔案建立後,沒有被讀取過,那麼訪問時間=建立時間,因為不好判斷檔案是否被改過、讀過、其狀態是否變過,所以判斷檔案的建立時間基本上能為不可能。

如何查乙個檔案的三個時間呢?

先用下面的命令來建立乙個檔案

# date && echo "this is file be used test time of file" >filetime.txt && ll --full-time filetime.txt tue aug  4 15:13:44 hkt 2009 -rw-r--r--    1 root     root           39 2009-08-04 15:13:44.000000000 +0800 filetime.txt

通過stat filename.txt來查,如:# stat filetime.txt    file: `filetime.txt'   size: 39              blocks: 8          io block: 4096   regular file device: 802h/2050d      inode: 17          links: 1     access: (0644/-rw-r--r--)  uid: (    0/    root)   gid: (    0/    root) access: 2009-08-04 15:13:44.000000000 +0800 modify: 2009-08-04 15:13:44.000000000 +0800 change: 2009-08-04 15:13:44.000000000 +0800

說明:access訪問時間。modify修改時間。change狀態改動時間。可以stat *檢視這個目錄所有檔案的狀態。

ctime=change time atime=access time mtime=modifiy time

因為這是乙個新的檔案(filetime.txt),沒做過內容、屬性的更改,也沒讀過這個檔案,所以三者(訪問時間、修改時間、狀態改動時間)的時間是一致的,這時檔案的修改時間與這三個時間是一樣的,是沒有疑問的。

1、訪問時間,讀一次這個檔案的內容,這個時間就會更新。比如對這個檔案運用 more、cat等命令。ls、stat命令都不會修改檔案的訪問時間。 2、修改時間,修改時間是檔案內容最後一次被修改時間。比如:vi後儲存檔案。ls -l列出的時間就是這個時間。 3、狀態改動時間。是該檔案的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)。

字段           說明                  例子           ls(-l)  st_atime  檔案資料的最後訪問時間       read            -u  st_mtime  檔案資料的最後修改時間       write           預設  st_ctime  檔案資料的最後更改時間       chown,chmod     -c

在linux系統中,系統把檔案內容資料與i節點資料是分別存放的,i節點資料存放了檔案許可權與檔案屬主之類的資料。

linux stat 命令檢視檔案資訊

在linux中,沒有檔案建立時間的概念。只有檔案的訪問時間 修改時間 狀態改變時間。也就是說不能知道檔案的建立時間。但如果檔案建立後就沒有修改過,修改時間 建立時間 如果檔案建立後,狀態就沒有改變過,那麼狀態改變時間 建立時間 如果檔案建立後,沒有被讀取過,那麼訪問時間 建立時間,這個基本不太可能。...

Linux stat命令檢視檔案的三個時間

stat命令用於顯示檔案的狀態資訊。stat 選項 引數 l 支援符號連線 f 顯示檔案系統狀態而非檔案狀態 t 以簡潔方式輸出資訊 help 顯示指令的幫助資訊 version 顯示指令的版本資訊。檔案 指定要顯示資訊的普通檔案或者檔案系統對應的裝置檔名。在linux中,沒有檔案建立時間的概念。只...

linux stat系統呼叫,獲取檔案資訊。

stat 函式原型 int stat const char path,struct stat buf struct stat 說明 struct stat stat結構體中的st mode 則定義了下列數種情況 s ifsock 0140000 scoket s iflnk 0120000 符號連線...