1,什麼是find?
從英文字面意思上就是:查找,查詢的意思,不錯,這就是Linux系統功能強大的文件查找命令find
2,find命令的具體使用方法
命令格式:find [options] [查找路徑]
按文件名稱查找 -name 可以使用文件通配符,如,*,?,[],[^]
在當前目錄查找yum.log文件
find . -name yum.log
在當前目錄中查找以字母a開頭擴展名爲log的文件
在當前目錄中查找以a開頭後跟任意四個字符,擴展名爲log的文件
在當前目錄中查找以字母a開頭後面跟小寫b或大寫b擴展名爲txt的文件
在當前目錄中查找以字母a開頭後跟oot擴展名爲log的文件
在當前目錄中查找忽略字母ab大小寫以擴展名txt的文件
按文件的屬主或屬組查找
在當前目錄中查找文件屬主爲hadoop用戶的文件
在當前目錄中查找文件屬組爲openstack的文件
按文件的屬主的UID或屬組GID查找
在當前目錄中查找文件屬主UID爲501的文件
在當前目錄中查找文件屬組GID爲500的文件
在當前目錄中查找文件屬主無用戶的文件
在當前目錄中查找文件無屬組的文件
按組合條件查找
-a:與,同時滿足,可以是默認,左右兩邊只有一個條件時,可以省略
-o:或,其中之一足
-not,!:非,取反,都不滿足
在當前目錄中查找文件屬主是tome且屬組爲root的文件,通常-a (and)可以省略
在當前目錄中查找文件屬主是tom或者文件屬組是jerry的文件
在當前目錄中查找文件屬主爲tom或者文件屬組爲jerry二者滿足其中之一的文件
按文件類型查找:-type
f:普通文件
d:目錄文件
s:套接字文件
c:字符文件
p:管道文件
l:符號鏈接文件
b:塊設備文件
在當前目錄中查找類型爲目錄的文件
在當前目錄中查找普通文件
在/dev/目錄中查找文件類型爲字符的文件
在/dev/目錄中查找文件類型爲塊設備的文件
在/bin目錄中查找符號鏈接文件
在目錄/var/run中查找套接字文件
按文件大小屬性查找:[+|-]size Value 單位爲K,M,G
-size Value 查找x>Value+1值大小的文件,x爲文件大小
-size +Value 查找Value+1<=x大小的文件,x爲文件大小
-size -Value 查找0<=x<Value大小的文件,x爲文件大小
在當前目錄中查找大於等於0M小於1M的文件
在當前目錄中查找大於等於3M的文件
基於文件時間的查找: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天時間訪問的文件
查找1天以內訪問過的文件
查找1天以內修改過的文件
-amin
+Value 查找Value分鐘以外訪問過的文件,Value單位爲分鐘
-Value 查找Value分鐘以內訪問過的文件,Value單位爲分鐘
Value 查找Value<=x<Value查找Value分鐘以內且Value+1分鐘內訪問過的文件
查找60分鐘內訪問過的文件
查找60分鐘外訪問過的文件
根據文件相關權限的查找:9位相關數字(字母)組成的文件權限
-perm Value
+Value 查找文件每類用戶權限位上只要有一位滿足的文件權限的文件
-Value 查找文件每類用戶權限位上任意一位滿足的文件權限的文件
Value 查找文件權限等於Value值的文件權限的文件
查找文件權限爲644文件權限的文件
查找文件權限每類用戶權限上只要有一位滿足644文件權限的文件
查找文件每類用戶權限位上任意一位滿足400文件權限的文件
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命令的深入瞭解,發現以上內容只是我對其比較基本的瞭解,此博客會繼續更新。。。。。。。。