天天看點

linux find指令常用參數

引言~

find 是 Linux 中強大的搜尋指令,不僅可以按照檔案名搜尋檔案,還可以按照權限、大小、時間、inode 号等來搜尋檔案。但是 find 指令是直接在硬碟中進行搜尋的,如果指定的搜尋範圍過大,find指令就會消耗較大的系統資源,導緻伺服器壓力過大。是以,在使用 find 指令搜尋時,不要指定過大的搜尋範圍。

find的指令格式:find+搜尋路徑(參數1)+ [參數選項] +搜尋内容(參數2)
           

相比其它linux指令,find 指令是比較特殊的指令,因為它有兩個參數: 第一個參數用來指定搜尋路徑; 第二個參數用來指定搜尋内容。

例如:

find ./ -type f -size 1033c

#搜尋目前目錄下大小為1033位元組的普通檔案

-type f

指定要搜尋的檔案為普通檔案,

-size 1033c

指定搜尋的檔案大小為1033位元組,

linux find指令常用參數

find 指令還有一個小特性,就是搜尋的檔案名必須和你的搜尋内容一緻才能找到。如果隻包含搜尋内容,則不會找到,如何我們如果想要大小通吃,就要使用 -iname 來搜尋檔案

常用的find指令:

-name    搜尋檔案名
  -iname   搜尋檔案名時大小寫不敏感
  -type     d 目錄 f 普通檔案 l 符号連結
  -size     不加其它參數預設搜尋5M 左右的檔案(如下圖),其它參數  +5M 大于  -5M 小于
           
linux find指令常用參數

find其它常用指令

pathname: find指令所查找的目錄路徑。例如用.來表示目前目錄,用/來表示系統根目錄。
-print: find指令将比對的檔案輸出到标準輸出。
-exec: find指令對比對的檔案執行該參數所給出的shell指令。相應指令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,隻不過以一種更為安全的模式來執行該參數所給出的shell指令,在執行每一個指令之前,都會給出提示,讓使用者來确定是否執行。
#-print 将查找到的檔案輸出到标準輸出
#-exec   command   {} \;      —–将查到的檔案執行command操作,{} 和 \;之間有空格
#-ok 和-exec相同,隻不過在操作前要詢使用者
-name   filename             #查找名為filename的檔案
-perm                        #按執行權限來查找
-user    username             #按檔案屬主來查找
-group groupname            #按組來查找
-mtime   -n +n                #按檔案更改時間來查找檔案,-n指n天以内,+n指n天以前
-atime    -n +n               #按檔案通路時間來查GIN: 0px">
-ctime    -n +n              #按檔案建立時間來查找檔案,-n指n天以内,+n指n天以前
-nogroup                     #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在
-nouser                     #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer   f1 !f2              找檔案,-n指n天以内,+n指n天以前 
-ctime    -n +n               #按檔案建立時間來查找檔案,-n指n天以内,+n指n天以前 
-nogroup                     #查無有效屬組的檔案,即檔案的屬組在/etc/groups中不存在
-nouser                      #查無有效屬主的檔案,即檔案的屬主在/etc/passwd中不存
-newer   f1 !f2               #查更改時間比f1新但比f2舊的檔案
-type    b/d/c/p/l/f         #查是塊裝置、目錄、字元裝置、管道、符号連結、普通檔案
-size      n[c]               #查長度為n塊[或n位元組]的檔案
-depth                       #使查找在進入子目錄前先行查找完本目錄
-fstype                     #查更改時間比f1新但比f2舊的檔案
-type    b/d/c/p/l/f         #查是塊裝置、目錄、字元裝置、管道、符号連結、普通檔案
-size      n[c]               #查長度為n塊[或n位元組]的檔案
-depth                       #使查找在進入子目錄前先行查找完本目錄
-fstype                      #查位于某一類型檔案系統中的檔案,這些檔案系統類型通常可 在/etc/fstab中找到
-mount                       #查檔案時不跨越檔案系統mount點
-follow                      #如果遇到符号連結檔案,就跟蹤連結所指的檔案
-cpio                %;      #查位于某一類型檔案系統中的檔案,這些檔案系統類型通常可 在/etc/fstab中找到
-mount                       #查檔案時不跨越檔案系統mount點
-follow                      #如果遇到符号連結檔案,就跟蹤連結所指的檔案
-cpio                        #對比對的檔案使用cpio指令,将他們備份到錄音帶裝置中
-prune                       #忽略某個目錄
           

繼續閱讀