linux命令—find查找文件

find 命令功能非常的強(qiáng)大,支持的參數(shù)很多,這里簡單講解一些平時(shí)常用的命令
查找命令的基本格式為:

** find [查找范圍] [查找條件] **

查找范圍

可以使用全路經(jīng),也可以使用相對路徑

查找條件

按文件名查找
格式:-name filename-iname filename

-name 查找是完全匹配,如果要查使用模糊查找,需要做兩件事情:1. 文件名使用引號,2. 使用通配符。3種通配符:

  • * : 匹配任意多個(gè)任意字符
  • ? : 匹配0個(gè)或1個(gè)任意字符
  • [] : 匹配括號中的任意字符
touch abc abd abe abf         #新建4個(gè)文件:abc abd abe abf
find . -name abc              #在當(dāng)前目錄查找abc 文件,完全匹配:abc
find . -name "*[cd]"          #在當(dāng)前目錄查找 c或d結(jié)尾的文件,模糊匹配:abc, abd

若想忽略文件大小寫時(shí),使用-iname,用法同 -name

按時(shí)間查找
格式:-mtime time-atime time-ctime time

區(qū)別:

  • -mtime 修改文件的時(shí)間
  • -atime 文件訪問的時(shí)間
  • -ctime 修改文件屬性的時(shí)間
find . -mtime +10   #查找10天之前修改的文件(不包括第10天)
find . -mtime 10    #查找過去第10天修改的文件
find . -mtime -10   #查找10天之內(nèi)的修改文件(不包括第10天)

注:
-mtime 后面是過去的時(shí)間,‘+’表示大于,‘+10’表示過去10天之前; ‘-’表示小于,‘-’表示過去10天之內(nèi);

按所屬用戶查找
格式: -user username 或者 -nouser

find . -user root  #查找屬于用戶root的文件
find . -nouser     #查找沒有任何用戶屬性的文件

如果查找不屬于任何用戶的文件,使用-nouser,因?yàn)閘inux系統(tǒng)中所有文件都應(yīng)該有所屬用戶,所以沒有所屬用戶的文件都是垃圾文件(除了內(nèi)核文件和外部文件如U盤, 他們可能沒有所屬文件)

按文件大小查找
格式: -size size

find . -size 10k   # 文件大小為10k, k單位小寫
find . -size +2M  # 文件大于2M ,M單位大寫

多條件搜索
格式:使用-o-a連接

-o :or,或的關(guān)系
-a :and,與的關(guān)系,可以默認(rèn)關(guān)系,可以省略

find . -size -10M -o -size + 100M      #查找大于100M或者小于10M的文件
find . mtime -10  -a -user www-data     #查找10天內(nèi),屬于www-data用戶的文件
find . mtime -10  -user www-data        #與上同,省略 -a

對搜索出來的文件進(jìn)一步處理
格式:-exec/-ok 命令 {} \;
若需要對搜索出來的文件進(jìn)一步處理,使用 -exec或者是-ok命令

find . -name '*conf'  -exec ls -lh {} \;    #查找以conf結(jié)尾的文件的詳細(xì)信息
find . -name "*test*" -exec rm {} \;       #刪除所有文件名包含test的文件 

本節(jié)內(nèi)容參考視頻: http://www.imooc.com/video/4048

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容