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