LINUX find的高階查詢

muxinqing發表於2014-05-19

 

find命令選項
-name 按照檔名查詢檔案。
-perm 按照檔案許可權來查詢檔案。
-prune 使用這一選項可以使find命令不在當前指定的目錄中查詢,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user 按照檔案屬主來查詢檔案。
-group 按照檔案所屬的組來查詢檔案。
-mtime -n +n 按照檔案的更改時間來查詢檔案, - n表示檔案更改時間距現在n天以內,+ n表示檔案更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup 查詢無有效所屬組的檔案,即該檔案所屬的組在/etc/groups中不存在。
-nouser 查詢無有效屬主的檔案,即該檔案的屬主在/etc/passwd中不存在。
-newer file1 ! file2  查詢更改時間比檔案file1新但比檔案file2舊的檔案。
-type 查詢某一型別的檔案,諸如:b - 塊裝置檔案。d - 目錄。c - 字元裝置檔案。p - 管道檔案。l - 符號連結檔案。f - 普通檔案。
-size n:[c] 查詢檔案長度為n塊的檔案,帶有c時表示檔案長度以位元組計。
-depth:在查詢檔案時,首先查詢當前目錄中的檔案,然後再在其子目錄中查詢。
-fstype:查詢位於某一型別檔案系統中的檔案,這些檔案系統型別通常可以在配置檔案/etc/fstab中找到,該配置檔案中包含了本系統中有關檔案系統的資訊。
-mount:在查詢檔案時不跨越檔案系統mount點。
-follow:如果find命令遇到符號連結檔案,就跟蹤至連結所指向的檔案。
-cpio:對匹配的檔案使用cpio命令,將這些檔案備份到磁帶裝置中。
-pathname: find命令所查詢的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的檔案輸出到標準輸出。
-exec: find命令對匹配的檔案執行該引數所給出的shell命令。相應命令的形式為"command { } \; ",注意"{ }"和“\;”之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該引數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓使用者來確定是否執行。

find 按檔案修改時間查詢檔案
---(+n)----------|----------(n)----------|----------(-n)---
      (n+1)*24H前|   (n+1)*24H~n*24H   |n*24H內

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

[a|c|m]min    [最後訪問|最後狀態修改|最後內容修改]min
[a|c|m]time    [最後訪問|最後狀態修改|最後內容修改]time
 
 -amin n 查詢系統中最後N分鐘訪問的檔案
  -atime n 查詢系統中最後n*24小時訪問的檔案
  -cmin n 查詢系統中最後N分鐘被改變檔案狀態的檔案
  -ctime n 查詢系統中最後n*24小時被改變檔案狀態的檔案
    -mmin n 查詢系統中最後N分鐘被改變檔案資料的檔案
  -mtime n 查詢系統中最後n*24小時被改變檔案資料的檔案

 

find /home/oracle -name 'test.log'  -mtime +7 -exec grep 'exp' {} \;  >/home/exp.log  查詢7天前test.log中的exp內容儲存到rm.log
find /home/oracle -name '*.log'  -mtime  +7 -exec rm -rf  >/home/exp.log {} \;    刪除7天前*.log

find /home/oracle -name '*.log'  -ctime  +1 -exec  grep '81'  {} \; >/home/exp.log 查詢7天前test.log中的81內容儲存到exp.log

find /home/oracle -name 'test.log'  -mtime +7 -exec rm -rf {} \;  >/home/exp.log  查詢7天前test.log的檔案內容儲存到rm.log


 

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

相關文章