Linux下find命令的使用詳解

1,什麼是find?

   從英文字面意思上就是:查找,查詢的意思,不錯,這就是Linux系統功能強大的文件查找命令find

2,find命令的具體使用方法

   命令格式:find [options] [查找路徑]

   按文件名稱查找 -name  可以使用文件通配符,如,*,?,[],[^]

       在當前目錄查找yum.log文件

       find . -name yum.log

wKioL1MRoLnSf1uqAACH5drGJpY834.jpg

       在當前目錄中查找以字母a開頭擴展名爲log的文件

wKiom1MRoOGyqh0TAAFUe7HbABw645.jpg

       在當前目錄中查找以a開頭後跟任意四個字符,擴展名爲log的文件

wKioL1MRoLuSFXjiAACHsfSI4Ss679.jpg

       在當前目錄中查找以字母a開頭後面跟小寫b或大寫b擴展名爲txt的文件

wKiom1MRoOGQzjeVAACdPEqXYqM449.jpg

       在當前目錄中查找以字母a開頭後跟oot擴展名爲log的文件

wKiom1MRoOHTIYIGAACJl5EVr-s424.jpg

       在當前目錄中查找忽略字母ab大小寫以擴展名txt的文件

wKioL1MRoLzRdNjFAACSrlnTgfc098.jpg

    按文件的屬主或屬組查找

       在當前目錄中查找文件屬主爲hadoop用戶的文件

wKiom1MRoOLDgqpcAAD_KwpZqWg163.jpg

       在當前目錄中查找文件屬組爲openstack的文件

wKiom1MRoOPBkJ4EAAEDnRIXnoI650.jpg

按文件的屬主的UID或屬組GID查找

       在當前目錄中查找文件屬主UID爲501的文件

wKioL1MRoL3S_ZrkAADRZV_9oak547.jpg

       在當前目錄中查找文件屬組GID爲500的文件

wKiom1MRoOSQ5cqOAADq34tFnkM775.jpg

       在當前目錄中查找文件屬主無用戶的文件

wKiom1MRoOXTGzlGAADR-F0HeTc898.jpg

       在當前目錄中查找文件無屬組的文件

wKioL1MRoMCyL0ApAADf9tlxQfk389.jpg

   按組合條件查找

       -a:與,同時滿足,可以是默認,左右兩邊只有一個條件時,可以省略

       -o:或,其中之一足

       -not,!:非,取反,都不滿足

       在當前目錄中查找文件屬主是tome且屬組爲root的文件,通常-a (and)可以省略

wKiom1MRoObQCoGJAAD8frIFCQo073.jpg

       在當前目錄中查找文件屬主是tom或者文件屬組是jerry的文件

wKioL1MRoMGy_n7YAAFQyMhdhQY029.jpg

       在當前目錄中查找文件屬主爲tom或者文件屬組爲jerry二者滿足其中之一的文件

wKiom1MRoOeB4CeEAAEEpY3CF28314.jpg

    按文件類型查找:-type

           f:普通文件

           d:目錄文件

           s:套接字文件

           c:字符文件

           p:管道文件

           l:符號鏈接文件

           b:塊設備文件

       在當前目錄中查找類型爲目錄的文件

wKioL1MRoMKxcRHpAACO7cnNYbU648.jpg

       在當前目錄中查找普通文件

wKioL1MRoMOBzFisAACFNkhG9WI299.jpg

       在/dev/目錄中查找文件類型爲字符的文件            

wKioL1MRoMTRjtcPAADVx6NH1YY494.jpg

       在/dev/目錄中查找文件類型爲塊設備的文件

wKiom1MRoOrzWqKeAADUY7WDIIo588.jpg

       在/bin目錄中查找符號鏈接文件

wKioL1MRoMWBJ0W2AADLkF_z2kE868.jpg

       在目錄/var/run/中查找管道文件wKiom1MRoOygLXHSAAHSeajFTPM133.jpg

       在目錄/var/run中查找套接字文件

wKiom1MRoOyD_TXXAAHOlK2-hWs339.jpg

       按文件大小屬性查找:[+|-]size Value 單位爲K,M,G

               -size Value 查找x>Value+1值大小的文件,x爲文件大小

               -size +Value 查找Value+1<=x大小的文件,x爲文件大小

               -size -Value 查找0<=x<Value大小的文件,x爲文件大小

           在當前目錄中查找大於等於2M且小於3M的文件wKiom1MRoO7DAD9aAADUHcj09Io293.jpg

       在當前目錄中查找大於等於0M小於1M的文件

wKiom1MRoO_gYhPnAAFrbMYg2Oc004.jpg

       在當前目錄中查找大於等於3M的文件

wKiom1MRoPGy9CoEAAD4BcyNlnM089.jpg

基於文件時間的查找:TIME (以天爲單位)

       -atime

           +Value 查找Value天前訪問過的文件,Value爲過去的天數

            Value 查找Value<=x<Value+1天前內訪問過的文件,Value爲過去的天數

           -Value 查找x<Value天內訪問過的文件,Value爲過去的天數

       -mtime

           +Value 查找Value天前修改過的文件,Value爲過去的天數

            Value 查找Value<=x<Value+1天前內修改過的文件,Value爲過去的天數

           -Value 查找x<Value天內修改過的文件,Value爲過去的天數

    以下爲具體事例:

       查找查找2天以內大於1天時間訪問的文件

wKioL1MRoM6DHT_FAAKMoK3-4uk414.jpg

       查找1天以內訪問過的文件

wKioL1MRoNKw_za4AAJ9mgusgEE196.jpg

       查找1天以內修改過的文件

wKioL1MRoNXDOokRAAJ2eUD0uGg403.jpg基於文件時間的查找:minutes(以分鐘爲單位)

       -amin

           +Value 查找Value分鐘以外訪問過的文件,Value單位爲分鐘

           -Value 查找Value分鐘以內訪問過的文件,Value單位爲分鐘

            Value 查找Value<=x<Value查找Value分鐘以內且Value+1分鐘內訪問過的文件

       查找60分鐘內訪問過的文件

wKiom1MRrnijb4OxAAJom1WZtF0393.jpg

       查找60分鐘外訪問過的文件

wKioL1MRrlPS7_FyAAJlkxOkVbM187.jpg


根據文件相關權限的查找:9位相關數字(字母)組成的文件權限

       -perm Value

           +Value 查找文件每類用戶權限位上只要有一位滿足的文件權限的文件

           -Value 查找文件每類用戶權限位上任意一位滿足的文件權限的文件

            Value 查找文件權限等於Value值的文件權限的文件

       查找文件權限爲644文件權限的文件

wKiom1MRrnnDZsLeAAFp4sBLLEc550.jpg

       查找文件權限每類用戶權限上只要有一位滿足644文件權限的文件

wKiom1MRrnrwDIKRAAEAF-z4N1U564.jpg

       查找文件每類用戶權限位上任意一位滿足400文件權限的文件

wKiom1MRrnrw3G5bAAFmpBu0l9A299.jpg

3,其它經典事例及參數

   -exec COMMAND {} \;:對查找到的文件執行指定的命令

       查找/var/logs目錄中更改時間在10日以前的普通文件,並在刪除之前詢問它們

            find /var/logs -type f -mtime +10 -ok rm {} \;

       | 使用管道

爲了查找當前文件系統中的所有目錄並排序

find . -type d | sort

       find |xargs COMMAND   :xargs結合find命令的使用

查找當前目錄中每個普通文件,然後使用xargs命令來測試它們的文件類型

find . -type f -print | xargs file

find |xargs grep  :命令作用,在找到的文件中,查找包含某個字符的文件

用grep在查找到的文件中搜索hello這個詞

               find . -type f -print | xargs grep "hello"

4,後續

   隨着對find命令的深入瞭解,發現以上內容只是我對其比較基本的瞭解,此博客會繼續更新。。。。。。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章