之前所學的grep egrep fgrep 都是用來查詢文字中的某個字元匹配的
現在來學一下查詢檔案命令 locate find
locate
此命令是非實時查詢檔案,它是根據全系統檔案資料庫進行查詢的,
僅用模糊匹配,非精確查詢
locate filename 即可實現查詢其它相關檔案
但是注意有時候如果系統是剛安裝的有可能還沒建立此資料庫,使用該命令會提示查詢不到資料庫
不過不用擔心使用updatedb即可自動生成資料庫,生成資料庫的時候有時候會很慢,這個根據使用者的
磁碟上所放的東西多少決定的
db庫存放在/var/lib/mlocate/mlocate.db
這個特點就是速度快
find命令
特點:實時查詢
精確匹配,遍歷指定目錄中的所有檔案完成查詢,所以速度慢
支援眾多查詢標準
用法格式:
find 查詢路徑 查詢標準 查詢到以後的處理動作action
查詢路徑:預設為當前目錄
查詢標準:預設為指定路徑下的所有檔案
action :預設為列印到螢幕輸出
查詢標準
匹配標準:
-name 'filename' 對檔名作精確匹配
-iname 'filename' 查詢檔案名,但是忽略大小寫
-regex pattern 基於模式正規則表示式進行檔名匹配
-user username 根據屬主查詢檔案
-group groupname 根據屬組查詢檔案
-uid uid 根據uid查詢檔案
-gid gid 根據gid查詢檔案
-nouser 查詢沒有屬主的檔案
-nogroup 查詢沒有屬組的檔案
-type f普通檔案 d目錄 c字元裝置 b塊裝置 l鏈結檔案 p管道裝置 s套接字裝置 按型別查詢
-size [+|-] #k #m #g 中括號可省略+-表示大於小於#號是數字 按檔案大小查詢檔案
組合條件
-a and 與
-o or 或
-not 非
用法例: find ./ -not -user user2 -a -not -user user1
解釋:查詢非屬主為user2且非屬主為user1的檔案
此條命令還可以這樣寫
find ./ -not \( -user user -o -user user1\) 摩根定律你懂得!
-mtime 修改時間
-ctime 改變時間
-atime 訪問時間
[+|-] #
-5 表示5天之內
+5 表示5天之前
-mmin 修改分鐘
-cmin 改變分鐘
-amin 訪問分鐘
和上邊的區別是上方的單位是天,下方的單位是分鐘
-perm 644 許可權匹配,這個表示查詢精確匹配644許可權的檔案
-perm /644 許可權匹配,表示匹配其它任意一位許可權都ok
一位許可權的意思:644 為rw-r--r-- 表示匹配其中任何乙個許可權就列印到螢幕上
-perm -644 表示匹配包含該許可權的比如755 777 744 只要大於這個這個644的許可權就ok,
切記不可小於這個許可權比如633這個就不行
便於理解/表示或的意思 即其中只要有一位匹配就顯示
-表示完全匹配 即只可大於不可小於呵呵
查詢到以後處理action 動作
-print 列印到螢幕
-ls 類似ls -l的形式顯示匹配到的檔案
-ok command {} \; 即可在匹配到的檔案後加要執行的命令,這個是固定格式
(注:此命令被執行時需要確認每一條)
-exec command {} \; 同上一條一樣,不同的是這個命令執行時不會提示是否需要執行
所以要在執行前確認確認再確認!!
xargs command 這個也是後邊可以接其它命令的
用法 find /etc -size +1m | xargs echo >> /tmp/large.file
最後加乙個問題 我沒想出來希望大神幫助一下看看怎樣組合命令!!
1.查詢一下/etc目錄下所有使用者都沒有執行許可權的檔案
已找到答案 find /etc -not -perm /222
thanks for your watching!
winthcloud
檔案查詢命令 find
find命令可以查詢檔案,最常用的命令舉例 找出系統中檔名為 httpd.conf 的檔案 檔名引數,可以使用萬用字元 命令輸出如下 如果要過濾掉查詢過程中的錯誤資訊,可以使用如下命令 find name httpd.conf 2 test.txt 管道2輸出錯誤資訊,表示追加 find name ...
linux檔案查詢find命令
1.locate 與 find命令的區別 locate命令用於查詢檔案,它比find命令的搜尋速度快,它需要乙個資料庫,這個資料庫由每天的例行工作 crontab 程式來建立。當我們建立好這個資料庫後,就可以方便地來搜尋所需檔案了。即先執行 updatedb 無論在那個目錄中均可,可以放在cront...
Linux檔案查詢find命令
作用 實時查詢工具,通過遍歷指定路徑完成問件查詢,遞迴地在層次目錄中處理檔案 find搜尋目錄樹上的每乙個檔名,它從左至右運算給定的表示式,按照優先規則進行匹配,直到得出結果 左邊運算在 與 操作中得出假,在 或 操作中得出真 然後 find移向下乙個檔名。第乙個以 或 這些字元起始的引數是表示式的...