locate
非實時,模糊匹配,根據文件系統的數據庫進行查找;
updatedb:生動生成文件數據庫,這個數據庫會在天天固定的時間自動生成,也能夠用此命令手動生成。
/var/lib/mlocate/mlocate.db
locate命令實際上是find -name的另外一種寫法
whereis
whereis命令只能用於程序名的搜索,並且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。若是省略參數,則返回全部信息。
whereis [ -sbmu ] [ -SBM dir ... -f ] name...
-b:只查找二進制文件;
-B<目錄>:只在設置的目錄下查找二進制文件;
-f:不顯示文件名前的路徑名稱;
-m:只查找說明文件;
-M<目錄>:只在設置的目錄下查找說明文件;
-s:只查找原始代碼文件;
-S<目錄>只在設置的目錄下查找原始代碼文件;
-u:查找不包含指定類型的文件。
find
實時、精確、支持衆多查找標準
find 查找路徑 查找標準 查找後進行的處理動做
查找路徑:默認爲當前目錄
查找標準:默認爲指定路徑下的全部文件
處理動做:默認爲顯示
查找標準
-name 「FILENAME「:對文件名進行精確匹配
-iname 」FILENAME「:對文件名進行匹配,不區分大小寫
-regex PATTERN:基於正則表達式進行文件查找
-user USERNAME:基於文件的屬主進行查找
-group GROUPNAME:
基於文件的屬組進行查找
-uid UID:基於文件的UID進行查找
-gid GID:基於文件的GID進行查找
注意:刪除一個用戶,屬於這個用戶屬主文件將只保留UID號
-nouser:沒有屬主
-nogroup:沒有屬組
-type:指定文件類型
-size:指定文件大小
[=|-]#10k
[=|-]#10m
[=|-]#10g
find -size 10k
會匹配9k~10k之間的內容
對文件時間的查找
單位爲天
-atime
-mtime
-ctime
單位爲分鐘
-amin
-mmin
-cmin
對文件權限進行查找
-perm MOOD精確匹配
-perm -MOOD文件權限徹底包含MOOD才匹配
-perm /MOOD任意一位匹配便可
組合查找
-a:默認,可省
-o:或者
-not:
find /tmp -not -user user1 -o -type d等價於find /tmp -not \(-user user1 -a -type d\)
動做
-print:顯示(默認)
-print0:不換行顯示
-ls:相似於ls -l
-ok
COMMAND {} \;每一次操做都須要用戶確認
例子:find -atime +5 -ok mv {} {}.old \;
-exec
COMMAND {} \;不須要用戶確認
例子:find -atime +2 -exec mv {} {}.old \;
{}文件名佔位符
-path
PATH :指定路徑
-prune:刪除
除去某一路徑
- PATH EXPREESION]-a PATH EXPREESION] -a [PATH EXPREESION] -o [PATH EXPREESION]
find /usr/sam -path "/usr/sam/dir1" -prune -o -printfind [[
這個表達式組合特例能夠用僞碼寫爲
if -path "/usr/sam";then -pruneelse -printfi