Linux之 find之 ctime,atime,mtime

張衝andy發表於2017-09-04

在Linux作業系統中,每個檔案都有很多的時間引數,其中有三個比較主要,分別是ctime,atime,mtime

atime 最後一次訪問時間, 如 ls, more 等, 但 chmod, chown, ls, stat 等不會修改些時間, 使用 ls -utl 可以按此時間順序檢視;
ctime 最後一次狀態修改時間, 如 chmod, chown 等狀態時間改變但修改時間不會改變, 使用 stat file 可以檢視;
mtime 最後一次內容修改時間, 如 vi 儲存後等, 修改時間發生改變的話, atime 和 ctime 也相應跟著發生改變

-ctime -n 查詢距現在 n*24H 內修改過的檔案
-ctime n 查詢距現在 n*24H 前, (n+1)*24H 內修改過的檔案
-ctime +n 查詢距現在 (n+1)*24H 前修改過的檔案

常用範例:
-- 查詢兩天前修改過的檔案:
find . -type f -mtime -2

-- 查詢3天內修改過的檔案:
find -ctime -3

-- 刪除/data/backup目錄下狀態修改時間超過6天的檔案:
find /data/backup -ctime +6 -exec rm -f {} \;

-- 刪除/data/backup目錄下空的資料夾,同時輸出正確和錯誤資訊到空:
find /data/backup -type d -empty -exec rmdir {} \; >/dev/null 2>&1

-- 查詢超過6天且是空檔案的find命令:
find ./ -type d -empty -ctime +6

-- 查詢/home/admin目錄下修改時間在1天之內的檔案
find /home/admin -mtime -1

-- 查詢/home/admin目錄下修改時間在1天之內的檔名為.txt結尾的檔案
find /home/admin -name *.txt -mtime -1

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2144468/,如需轉載,請註明出處,否則將追究法律責任。

相關文章