find命令解析(不一樣的查找!)

Linux中,全部內容都是以文件的形式存在的,這就意味着所有文件的數量也是驚人的,我們如何在天文數字般的文件中找到我們需要的文件呢?這就要用到文件查找命令,本次我們就探討一下其中的find命令。

Find的特性

在文件查找命令中不僅有find命令,還有locate命令,它們既然都是文件查找命令,那麼有什麼不一樣呢?
locate:
非實時,模糊匹配,查找是根據全系統文件數據庫進行的;手動生成文件數據庫
速度快。
find:實時,精確,速度慢,遍歷指定目錄中的所有文件完成查找。

Find的使用

find命令的使用格式如下:
find 查找路徑 查找標準 查找到以後的處理動作
 
查找路徑:默認爲當前目錄
查找標準:默認所有文件
處理運轉:默認顯示出來
 
下面我們分開來說明。
匹配標準
 -name 文件名:對文件名做精確匹配
例:查找etc目錄下的passwd find /etc –name “passwd”
 -iname:不區分大小寫
 -regex 模式:使用正則表達式進行查找
 -user : 根據屬主查找
例:查找透tmp目錄下屬於student的文件 find /tmp –user student
 -group:根據屬組查找
 -uid:根據UID查找
 -gid:根據GID查找
 -nouser:查找沒有屬主的文件
例:查找tmp目錄下沒有屬主的文件 find /tmp -nouser
 -nogrep:查找沒有屬組的文件
 -type:根據文件類型查找:
例:查找tmp目錄下目錄 find /tmp –type d
 -size :根據文件大小查找 數字+單位 默認單位是字節
例:查找etc目錄下大小爲一兆的文件 find /etc –size 1M
 -mtime (-|+)天數:查找修改天數(內|外)的文件
例:查找當前目錄下兩天內訪問的文件 find ./ -atime -2
 -ctime:查找改變天數的文件
 -atime:查找訪問天數的文件
 -perm (/|-)權限:
/:只匹配一位權限即可
-:文件權限全包含時才顯示
例:查找當前目錄下權限爲644的文件 find ./ -perm -644
 
條件組合
 -a:與關係
 -o:或關係
 -not:非關係
使用方法和平常一樣,無非是把不同條件邏輯組合在一起使用,這裏就不再多講了。
 
動作
 -print:顯示
 -ls:列表顯示
 -exec 命令 {} \;:引用命令完成查找
例:查找當前目錄下權限爲644的文件並將其權限改爲536 find ./ -perm -644 –exec chomd 536
 
 

上邊就是find命令的簡單展示和應用,如果想深入的瞭解其更多用法,就使用man命令吧!希望以上內容對大家有用,謝謝。

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