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