find -mtime时间算法
生活随笔
收集整理的這篇文章主要介紹了
find -mtime时间算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在unix或linux環境中經常會用到find -mtime這樣的寫法來找某某時間點之前的文件,至于如何寫find -mtime +N/-N/N,原來并不是很清楚,今天找了些資料看看,畫下了這個圖,以便理解和記憶:
從圖上可以看出,以當前時間點開始算起,+表示往左,從該時間點開始再繼續往更早推,可以稱作xx以外;-表示往右,從該時間點算起往后的時間推,可以稱作xx以內;沒有加減號表示據此此前第N天。因此:
我們來看下面這個例子:
我當前的時間2011年3月1日22:31,我有如下的文件: E:\testpath>ls -l
total 0
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 25 22:37 111.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 26 22:38 222.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 27 22:38 333.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 28 22:01 444.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 28 22:30 555.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Mar? 1 22:31 666.txt < -- 當前時間的文件
-rwxrwxrwa ? ? 1 Administrator ? ? None ? ? ? ? ? ? ? ? ? 0 Mar ? 2 ? 2011 777 . txt
?
E: \ testpath >
E:\testpath> -mtime +2,表示2天以外的,即從距離當前時間(2011-03-01 22:31)的2天前開始算起,往更早的時間推移。因此,距離當前時間的2天為:2011-02-27 22:31,在此前的文件,會被選出來。 E:\testpath>find ./ -mtime +2
./111.txt
./222.txt -mtime +1,表示1天以外的,即從距當前時間的1天前算起,往更早的時間推移。因此2011-02-28 22:31前的文件屬于該結果,2011-02-28 22:31后的文件不屬于該結果: E:\testpath>find ./ -mtime +1
./111.txt
./222.txt
./333.txt
./444.txt
./555.txt -mtime 2, 距離當前時間第2天的文件,當前時間為2011-03-01 22:31,往前推2天為2011-02-27 22:31,因此以此為時間點,24小時之內的時間為2011-02-27 22:31~2011-02-28 22:31,因此這段時間內的文件會被選中出來: E:\testpath>find ./ -mtime 2
./333.txt
./444.txt
./555.txt -mtime 1, 距離當前時間第1天的文件,當前時間為2011-03-01 22:31,往前推1天為2011-02-28 22:31,因此以此為時間點,24小時之內的時間為2011-02-28 22:31~2011-03-01 22:31,因此這段時間內的文件會被選中出來: E:\testpath>find ./ -mtime 1
./666.txt -mtime -1 表示1天以內的,從距當前時間的1天為2011-02-28 22:31,往右推移: E:\testpath>find ./ -mtime -1
./
./666.txt
./777.txt -mtime -2 表示2天以內的,從距當前時間的2天為2011-02-27 22:31開始,往右推移: E:\testpath>find ./ -mtime -2
./
./333.txt
./444.txt
./555.txt
./666.txt
./777.txt
從圖上可以看出,以當前時間點開始算起,+表示往左,從該時間點開始再繼續往更早推,可以稱作xx以外;-表示往右,從該時間點算起往后的時間推,可以稱作xx以內;沒有加減號表示據此此前第N天。因此:
我們來看下面這個例子:
我當前的時間2011年3月1日22:31,我有如下的文件: E:\testpath>ls -l
total 0
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 25 22:37 111.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 26 22:38 222.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 27 22:38 333.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 28 22:01 444.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Feb 28 22:30 555.txt
-rwxrwxrwa? ?1 Administrator? ?None? ? ? ? ? ? ? ? ? 0 Mar? 1 22:31 666.txt < -- 當前時間的文件
-rwxrwxrwa ? ? 1 Administrator ? ? None ? ? ? ? ? ? ? ? ? 0 Mar ? 2 ? 2011 777 . txt
?
E: \ testpath >
E:\testpath> -mtime +2,表示2天以外的,即從距離當前時間(2011-03-01 22:31)的2天前開始算起,往更早的時間推移。因此,距離當前時間的2天為:2011-02-27 22:31,在此前的文件,會被選出來。 E:\testpath>find ./ -mtime +2
./111.txt
./222.txt -mtime +1,表示1天以外的,即從距當前時間的1天前算起,往更早的時間推移。因此2011-02-28 22:31前的文件屬于該結果,2011-02-28 22:31后的文件不屬于該結果: E:\testpath>find ./ -mtime +1
./111.txt
./222.txt
./333.txt
./444.txt
./555.txt -mtime 2, 距離當前時間第2天的文件,當前時間為2011-03-01 22:31,往前推2天為2011-02-27 22:31,因此以此為時間點,24小時之內的時間為2011-02-27 22:31~2011-02-28 22:31,因此這段時間內的文件會被選中出來: E:\testpath>find ./ -mtime 2
./333.txt
./444.txt
./555.txt -mtime 1, 距離當前時間第1天的文件,當前時間為2011-03-01 22:31,往前推1天為2011-02-28 22:31,因此以此為時間點,24小時之內的時間為2011-02-28 22:31~2011-03-01 22:31,因此這段時間內的文件會被選中出來: E:\testpath>find ./ -mtime 1
./666.txt -mtime -1 表示1天以內的,從距當前時間的1天為2011-02-28 22:31,往右推移: E:\testpath>find ./ -mtime -1
./
./666.txt
./777.txt -mtime -2 表示2天以內的,從距當前時間的2天為2011-02-27 22:31開始,往右推移: E:\testpath>find ./ -mtime -2
./
./333.txt
./444.txt
./555.txt
./666.txt
./777.txt
轉載于:https://blog.51cto.com/infosec/1181259
總結
以上是生活随笔為你收集整理的find -mtime时间算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天梯赛练习(一)
- 下一篇: windows+jenkin