檔案搜尋命令:locate whereis which find
字串搜尋命令grep
locate
用法 :locate 檔名
-因為locate命令是在後台資料庫中按檔名搜尋,並不需要搜尋整個系統檔案,所有搜尋速度更快.
-/var/lib/mlocate
locate命令所搜尋的後台資料庫,後台資料庫並不是實時更新的,預設是一天一更新.在某些linux系統中這個後台資料庫名並不是相同的.
-updatedb
更新資料庫(更新後即可搜尋新建的檔案)
缺點:只可以按照檔名進行搜尋.
優點:搜尋速度更快,耗費資源較少.
locate預設規則是按照 /etc/updatedb.conf配置檔案內容進行搜尋,whereis which 也是按照這個規則進行搜尋.
-prune_bind_mounts = "yes"
#開啟搜尋限制.
-prunefs =
#搜尋時,不搜尋的檔案系統.
-prunenames =
#搜尋時,不搜尋的檔案型別.
-prunepaths =
#搜尋時,不搜尋的路徑.
where 與 which
命令的搜尋命令
用法:whereis 命令名
#搜尋命令所在路徑及幫助文件所在位置
選項:-b: 只查詢可執行檔案
-m: 只檢視幫助檔案
用法which 命令名
#搜尋命令所在路徑及別名
find
find [搜尋範圍] [搜尋條件]
#搜尋檔案
find / -name install.log
#避免大範圍搜尋,會非常耗費系統資源
#find是在系統當中搜尋符合條件的檔名. 如果需要匹配,使用萬用字元匹配,萬用字元是完全匹配
linux中的萬用字元
* 匹配任意內容 find / -name "*".php
? 匹配任意乙個字元 find / -name a"?".php
匹配任意乙個中括號內的字元 find / -name "ab[cd]"
- find / -iname install.log
#不區分大小寫
- find / -user root
#按照所有者搜尋
-find / -nouser
#查詢沒有所有者的檔案
- find /var/log -mtime +10
#查詢10天前修改的檔案
-10 10天內修改的檔案
10 10天當天修改的檔案
+10 10天前修改的檔案
atime 檔案訪問時間
ctime 改變檔案屬性
mtime 修改檔案內容
- find . -size +25k 按照m位元組搜尋 +25m
#按照檔案大小搜尋檔案
- find . inum 262422
#查詢i節點是262422的檔案
- find /etc/ -size +20k -a -size -50k
#查詢/etc/目錄下,大於20k並且小於50k的檔案
-a : and
-o : or
- find /etc/ -size +20k -a -size -50k -exec ls -lh {} \ ;
#查詢/etc/目錄下,大於20k並且小於50k的檔案,並顯示詳細資訊
# -exec/ -ok 命令{} \;對搜尋結果執行操作
grep
grep [選項] 字串 檔名
#在檔案中匹配符合條件的字串
選項:-i : 忽略大小寫
-v : 取反
-n:顯示匹配行及行號。
find和grep的區別:
find命令:在系統當中搜尋符合條件的檔名, 如果需要匹配,使用萬用字元匹配,萬用字元是完全匹配.
grep命令:在檔案當中搜素符合條件的字串,如果需要匹配,使用正規表示式進行匹配,正規表示式是包含匹配
linux檔案搜尋命令和命令搜尋命令
1.locate 速度快 find 搜尋全部檔案 1 locate 檔名 在後台資料庫中按檔名搜尋 2 資料庫所在位置 var lib mlocate 可以切換到該目錄下看看 3 用命令updatedb更新後台資料庫 4 配置檔案在 etc updatedb.config 開啟檔案搜尋位置限制時可以...
linux 檔案搜尋命令
1,locate 檔名 1 如果touch乙個檔案,locate不會搜尋出來,是因為這個不是實時查詢的,他是搜尋的檔案資源庫在 var lib molcate mlocate.db中,需要updatedb更新一下db這個檔案 2 locate不能查詢tmp目錄下的檔案 i 不區分大小寫 2,whic...
Linux檔案搜尋命令
又要開始linux命令了!gogo locate 檔名 在後台資料庫中按檔名搜尋,搜尋速度更快。注意 只能夠按照檔名搜尋 q 在這裡我發現,搜尋第乙個檔案的時候是可以搜尋出來的,但我新建了乙個檔案,再搜尋就搜尋不出來了,這是為什麼呢?a 原來locate命令是從 var lib mlocate這個資...