Linux下文件的三個時間意義及用法


Linux下文件的三個時間參數:

    (1)modification time(mtime):內容修改時間
        這里的修改時間指的是文件的內容發生變化,而更新的時間。

    (2)change time(ctime):狀態修改時間
        這里的修改時間指的是文件的屬性或者權限發生變化,而更新的時間。

    (3)access time(atime):最后訪問時間
        這里的訪問時間是指文件被讀取,而更新的時間。

 

 

在Linux下操作命令分別為:

ls -l    獲取文件最后一次內容修改的時間(modification time(mtime))

ls -lu   獲取文件最后一次訪問的時間(change time(ctime))

ls -lc   獲取文件最后一次狀態的改變時間(access time(atime))


在Linux下文件沒有創建時間這個概念,若文件從創建后不曾修改過則可認為 創建時間=修改時間

 

下面通過事例驗證:

事例1:

# 直接touch一個test文件並查看時間

[root@localhost ~]# touch test; stat test
  File: ‘test’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 269422829   Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-31 11:02:38.050000000 +0800
Modify: 2017-05-31 11:02:38.050000000 +0800
Change: 2017-05-31 11:02:38.050000000 +0800
 Birth: -

總結:
    當新創建一個文件時,這個文件的最后訪問時間、最后內容修改時間、最后狀態更新時間都是一致的。

 

事例2:

# 修改該文件的權限屬性狀態:

[root@localhost ~]# chmod 777 test ; stat test
  File: ‘test’
  Size: 0             Blocks: 0          IO Block: 4096   regular empty file
Device: fd00h/64768d    Inode: 269422829   Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-31 11:02:38.050000000 +0800
Modify: 2017-05-31 11:02:38.050000000 +0800
Change: 2017-05-31 11:05:27.816000000 +0800
 Birth: -

總結:
    修改一個文件的權限狀態信息,只會更新這個文件的最后狀態修改時間。

 

事例3:

# 修改該文件的內容信息:

[root@localhost ~]# echo hello > test ; stat test 
  File: ‘test’
  Size: 6             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 269422829   Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-31 11:02:38.050000000 +0800
Modify: 2017-05-31 11:06:59.638000000 +0800
Change: 2017-05-31 11:06:59.638000000 +0800
 Birth: -

總結:
    對比事例2,這里最后狀態時間、最后內容改變時間都被更新了。 當修改一個文件時,文件的Modify、Change會被更新。


事例4:

# 查看該文件

[root@localhost ~]# cat test ; stat test 
hello

  File: ‘test’
  Size: 5             Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 269422829   Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-05-31 11:10:03.470000000 +0800
Modify: 2017-05-31 11:08:29.717000000 +0800
Change: 2017-05-31 11:08:29.717000000 +0800
 Birth: -

總結:
    當查看文件時,文件的 Access time 會更新。

 

linux文件狀態的三個時間總結如下:

當需要了解這個文件有沒有被修改過 -  Modify Time
當需要了解這個文件最后被查看的時間 - Access Time
當需要了解這個文件權限最后變動的時間 - Change Time

 

擴展:

查找1天前未更新內容的文件並刪除

find . -type f -mtime +1 | xargs rm -rf 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM