在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
文章可以轉載,必須以連結形式标明出處。
本文轉自 張沖andy 部落格園部落格,原文連結: http://www.cnblogs.com/andy6/p/7472698.html ,如需轉載請自行聯系原作者