linux基本命令【文件搜索命令】
文件搜索命令: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基本命令【文件搜索命令】