程序員之路:Linux文件搜索
1、文件搜索命令locate
格式:locate 文件名
后臺數據庫中按文件名搜索,搜索速度更快
/var/lib/mlocate ? #locate命令所搜索的后臺數據庫
update 更新數據庫
linux默認一天更新一次文件數據庫
/etc/updatedb.conf配置文件
PRUNE_BIND_MOUNTS = "yes" ?#開啟搜索限制
PRUNEFS ? #搜索時,不搜索的文件系統
PRUNENAMES ?#搜索時,不搜索的文件類型
PRUNEPATHS ?#搜索時,不搜索的路徑
2、命令搜索命令whereis和which
whereis只能查命令所在位置
-b只查看執行文件
-m幫助文檔所在位置 不能搜索普通文件。
which
文件名 能看到命令所在位置,如果命令有別名(alias)可以看到
PATH環境變量
定義的是系統搜索命令的路徑
echo $PATH
下面是linux系統約定不同類型文件默認的顏色:
白色:表示普通文件
藍色:表示目錄
綠色:表示可執行文件
紅色:表示壓縮文件
淺藍色:鏈接文件
紅色閃爍:表示鏈接的文件有問題
黃色:表示設備文件
灰色:表示其它文件
3、文件搜索命令find
find [搜索范圍] [搜索條件]
(1)搜索文件
find / -name filename
#避免大范圍搜索,會非常耗費系統資源
#find是在系統當中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
通配符:
* 匹配任意內容
? 匹配任意一個字符
[] 匹配任意一個中括號內的字符
(2)不區分大小寫
find /root -iname filename
(3)按照所有者搜索
find /root -user root
(4)查找沒有所有者的文件
find /root -nouser
(5)查找10天前修改的文件
find /var/log/ -mtime +10
-10 ?10天內修改的文件
10 10天當天修改的文件
+10 10天前修改的文件
atime 文件訪問時間
ctime 改變文件屬性
mtime 修改文件內容
(6)查找文件大小是25KB的文件
find ?/ -size 25k
-25k 小于2KB的文件
25k 等于25KB的文件
+25k 大于25KB的文件
(7)查找i節點是262422的文件
find / -inum 262422
(8)查找/etc 目錄下,大于20KB并且小于50KB的文件
find ?/etc -size +20k -a -size -50k
-a and 邏輯與,兩個條件都滿足
-o or 邏輯或,兩個條件滿足一個即可
(9)查找/etc/目錄下,大于20KB并且小于50KB的文件,并且顯示詳細信息
find /etc -size +20k -a -50k -exec ls -lh {} \;
-exec/-ok 命令 {} \; 對搜索結果執行操作
4、搜索字符串命令grep
grep [選項] 字符串 文件名
-i 忽略大小寫
-v 排除指定字符串
5、find命令與grep命令的區別
find命令:在系統當中搜索符合條件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配
grep命令:在文件中搜索符合條件的字符串,如果需要匹配,使用正則表達式進行匹配,正則表達式是包含匹配
Linux 開發者
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。