find在不指定查詢目錄的情況下是對整個系統進行遍歷查詢
使用格式
:find [-path……] -options [-print -exec -ok]
翻譯成中文就是
find[
指定查詢目錄
][查詢規則
][查詢完後執行的
action]
path:要查詢的目錄路徑。
~ 表示$home目錄
. 表示當前目錄
/ 表示根目錄
print:表示將結果輸出到標準輸出。
exec:對匹配的檔案執行該引數所給出的shell命令。
形式為command {} \;,注意{}與\;之間有空格
ok:與exec作用相同,
區別在於,在執行命令之前,都會給出提示,讓使用者確認是否執行
options常用的有下選項:
-name:按照名字查詢
-perm:安裝許可權查詢
-prune:不再當前指定的目錄下查詢
-user:檔案屬主來查詢
-group:檔案所屬組來查詢
-nogroup:查詢無有效所屬組的檔案
-nouser:查詢無有效屬主的檔案
-type:按照檔案型別查詢
介紹下檔名通配的知識
*表示 通配任意的字元萬用字元使用舉例: 下面將會用這些find命令用法一一舉例:1、按名字查詢?表示 通配任意的單個字元
[ ] 表示 通配括號裡面的任意乙個字元
# -name //根據檔名查詢(精確查詢)
# -iname //根據檔名查詢,但是不區分大小寫
在當前目錄及子目錄中,查詢小寫字母開頭的txt檔案2、按目錄查詢在/home及其子目錄中,查詢小寫字母開頭的txt檔案
在$home目錄及其子目錄中,查詢所有檔案
在當前目錄及子目錄中,查詢不是th開頭的txt檔案
在當前目錄除code之外的子目錄內搜尋 txt檔案3、按許可權查詢在當前目錄及除code和codetest之外的子目錄中查詢txt檔案
在當前目錄,不再子目錄中,查詢txt檔案
在當前目錄及子目錄中,查詢屬主具有讀寫執行,其他具有讀執行許可權的檔案4、按型別查詢
在當前目錄及子目錄下,查詢符號鏈結檔案5、按屬主及屬組
查詢屬主是admin的檔案6、按時間查詢查詢屬主被刪除的檔案
查詢屬組mysql的檔案
查詢使用者組被刪掉的檔案
查詢1天內被更改過的檔案7、按檔案新舊查詢1天前被更改過的檔案
查詢一天內被訪問的檔案
查詢一天前被訪問的檔案
查詢一天內狀態被改變的檔案
查詢一天內狀態被改變的檔案
find . -ctime +1 -type f -print
查詢10分鐘以前狀態被改變的檔案
find . -cmin +10 -type f -print
查詢比aa.txt新的檔案8、按檔案大小查詢find . -newer "aa.txt" -type f -print
查詢比aa.txt舊的檔案
find . ! -newer "aa.txt" -type f -print
查詢比aa.txt新,比bb.txt舊的檔案
find . -newer 'aa.txt' ! -newer 'bb.txt' -type f -print
查詢超過1m的檔案9、執行命令find / -size +1m -type f -print
查詢等於6位元組的檔案
find . -size 6c -print
查詢小於32k的檔案
find . -size -32k -print
查詢del.txt並刪除,刪除前提示確認參考文章:find . -name 'del.txt' -ok rm {} \;
查詢aa.txt 並備份為aa.txt.bak
find . -name 'aa.txt' -exec cp {} {}.bak \;
終於完了,太多了!!!
Linux下比find快N倍的檔案查詢命令
使用linux作業系統的人,一般都用過檔案查詢命令find,在檔案數量非常龐大的時候,比如在高通的 android工程專案中,目錄大小有十幾個g,檔案數量非常多,用find命令就太慢了。下面介紹乙個比find快得多的命令,搜尋任何檔案幾乎都能在一秒內返回,時間複雜度o 1 mlocate 這個命令的...
linux下查詢檔案命令find
linux下查詢檔案命令find 這個命令語法看起來很容易就明白了,就是直接在find後面寫上 name,表明要求系統按照檔名查詢,最後寫上httpd.conf這個目標檔名即可。稍等一會系統會在計算機螢幕上顯示出查詢結果列表 這就是httpd.conf這個檔案在linux系統中的完整路徑。查詢成功。...
Linux下的檔案查詢命令 find
find實際搜尋硬碟查詢檔案名稱 通常情況下 find 命令並不是很常用,大家都優先使用 whereis 和locate 命令來查詢,因為 whereis 和locate 命令都是利用資料庫來查詢檔案所在,並沒有實際查詢硬碟,所以速度很快,節省時間。但是我們的 find 命令依然很強大,它的查詢條件...