找檔案另外一個方式
find ./ -type f -name "*.properties"|xargs -n 1 -i grep -l xx.co {}
find ./ -name "*.html"| xargs -n 1 -i grep -l 68_Setup_1.1.0 {}
若要保留前 24 小時的檔案,語法如下:
find ???-????.tar.gz -mtime -$tar -exec rm -rf {} \; |
時間參數的用法 -atime -Btime -ctime -mtime
-atime 檔案的最後存取時間到find 的執行時間差
-amin n 同 -atime 只是n是以分為單位
-Btime 檔案的inode 建立時間到find 的執行時間差,這參數限用於Freebsd
-ctime 檔案的狀態資訊最後修改的時間到find 的執行時間差
-cmin n 同 -ctime只是n是以分為單位
-mtime 檔案的最後修改時間到find 的執行時間差
-mmin n 同 -mtime只是n是以分為單位
find 在 linux 和 freebsd上的差異
在Freebsd上有單位,在linux上沒單位,預設的數字代表的就是天。
[FREEBSD]
-mtime n[smhdw]
[LINUX]
-mtime n
freebsd上可以用的單位是 s m h d w,在linux上,則沒單位可用,n代表的就是天數。
使用範例
部分範例是Freebsd only, linux上無單位可用):
在 7 天前有修改過的檔案,例如今天是6/10,則7天前是6/4
$ find ./ -mtime 7
在 7 天之內有修改過的檔案,例如今天是6/10,則7天內則是6/4~6/10 的檔案都列出
$ find ./ -mtime -7
在 7 天以前有修改過的檔案,例如今天是6/10,則7天6/4 以前的檔案都列出
$ find ./ -mtime +7
找出 240天以前的檔案並刪除,別漏了240d前的加號,lunux上請拿掉d。
$ find ./ -mtime +240d -exec rm {} \;
在 7 天之內有修改過的檔案,以下三個是同義:
$ find ./ -mtime -7d
$ find ./ -mtime -7
$ find ./ -mtime -1w
不小心把檔案解壓,沒放到特定的目錄,因此要刪除,找出5分鐘內建立的檔案
$ find -cmin -5
刪除5分鐘內建立的檔案
$ find -cmin -5 -type f -exec rm -rf {} \;
以上用法我研究許久,時間參數如能活用,對尋找檔案非常有幫助
以上我是參考此連結 http://n.sfs.tw/content/index/10905 ,並貼上來 |