linux尋找特定時間變動過的檔案,尋找與給定檔案有時間關係的檔案,對於排查問題特別重要,find命令的就是做這個事情的,尋找linux下指定時間內做過改動的檔案。
find 命令有幾個用於根據您系統的時間戳記搜尋檔案的選項。這些時間戳記包括
mtime 檔案內容上次修改時間
atime 檔案被讀取或訪問的時間
ctime 檔案狀態變化時間
mtime 和 atime 的含義都是很容易理解的,而 ctime 則需要更多的解釋。由於 inode 維護著每個檔案上的中繼資料,因此,如果與檔案有關的中繼資料發生變化,則 inode 資料也將變化。這可能是由一系列操作引起的,包括建立到檔案的符號連結、變更檔許可權或移動了檔案等。由於在這些情況下,檔案內容不會被讀取或修改,因此 mtime 和 atime 不會改變,但 ctime 將發生變化。
這些時間選項都需要與一個值 n 結合使用,指定為 -n、n 或 +n。
N * 24
+1 表示 1 * 24 +24小時以外..
+0 表示 0 * 24 +24小時以外
1 表示 1 * 24 + 24 到 24 之間..
0 表示 0 * 24 + 24 到 0 之間..
-1 表示 0 * 24 +24 內,甚至為未來時間...
find尋找今天修改的檔案
#尋找目前的目錄一天之前到此時之間修改的檔案,也就是過去的24小時內修改的檔案。
find ./ -mtime 0
#尋找目前的目錄小於1天(1*24)之前的修改過的檔案,也就是24小時內修改的檔案,這個和上面的結果一樣。
find ./ -mtime -1
#尋找目前的目錄等於1天(1*24)之前的修改過的檔案,也就是24小時之前(包括第24小時)修改的檔案
find ./ -mtime 1
#尋找目前的目錄大於1天(1*24)之前的修改過的檔案,也就是至少2天之前修改的檔案。mtime後的參數只能是整數,所以只能是大於1的要從2開始,下面的命令等同於-mtime 2。
find ./ -mtime +1
時間是以 24 小時為一個單位,而不是以天的,從當日起始時開始而不是從24小時之前。
2015/03/29 12:00 時間開始找一天?鵲模?崍諧 2015/03/28 12:00 ~ 2015/03/29 12:00 時間?鵲奈募?/p>
find與指定時間比較選項參數
-mtime n 檔案修改時間,對檔案資料的最近一次修改是在 n*24 小時之前
-mmin n 對檔案資料的最近一次修改是在 n 分鐘之前
-ctime n 檔案狀修改時間,對檔案狀態的最近一次修改是在 n*24 小時之前。
-cmin n 件狀態修改,對檔案狀態的最近一次修改是在 n 分鐘之前。
-atime n 訪問時間,對檔案的最近一次訪問是在 n*24 小時之前。
-amin n 最後訪問時間,對檔案的最近一次訪問是在 n 分鐘之前。
-mtime : 指定時間曾被改動過的檔案,意思是檔案?熱荼桓?墓?/p>
-ctime : 指定時間曾被更改過的檔案,意思是檔案許可權被更改過
-atime : 指定時間曾被存取過的檔案,意思是檔案被讀取過
find與指定檔案比較參數
-anewer file
對檔案的最近一次訪問比 file 修改時間要晚。如果命令列中 -follow 在 -anewer 之前,(也只有在這種情況下 -anewer會受 -follow 的影響)。
-cnewer file
對檔案狀態的最近一次修改比 file 修改時間要晚。如果命令列中 -follow 在 -cnewer 之前,(也只有在這種情況下-cnewer 會受 -follow 的影響)。
find執行個體
找出 3 天"以前"被改動過的檔案 (前第三天以前 → 2015/03/26 12:00 以前的檔案) (> 72 小時)
find ./ -mtime +3 -type f -print
找出 3 天?缺桓畝??奈募 (2015/03/26 12:00 ~ 2015/03/29 12:00 ?鵲奈募? (0 ~ 72 小時??
find ./ -mtime -3 -type f -print
找出前第 3 天被改動過的檔案 (2015/03/25 12:00 ~ 2015/03/26 12:00 ?鵲奈募? (72 ~ 96 小時)
find ./ -mtime 3 -type f -print
找出第 3 天被改動過的檔案 (也可以這樣寫)
find ./ -mtime +2 -mtime -4 -type f -print
1.目前時間24小時—目前時間(昨天-今天)
#find . -mtime 0
2.目前時間48小時前–目前時間24小時前(前天-昨天)
#find . -mtime 1
3.目前時間48小時前(2天前)
#find . -mtime +1
4.目前時間24小時–目前時間(昨天-今天)
#find . -mtime -1