whereis <程序名稱(chēng)>
查找軟件的安裝路徑
-b 只查找二進(jìn)制文件
-m 只查找?guī)椭募?br /> -s 只查找源代碼
-u 排除指定類(lèi)型文件
-f 只顯示文件名
-B <目錄> 在指定目錄下查找二進(jìn)制文件
-M <目錄> 在指定目錄下查找?guī)椭募?br /> -S <目錄> 在指定目錄下查找源代碼
locate <文件名稱(chēng)>
在文件索引數(shù)據(jù)庫(kù)中搜索文件
-d <數(shù)據(jù)庫(kù)路徑> 搜索指定數(shù)據(jù)庫(kù)
updatedb
更新文件索引數(shù)據(jù)庫(kù)
find [路徑] <表達(dá)式>
查找文件
-name <表達(dá)式> 根據(jù)文件名查找文件
-iname <表達(dá)式> 根據(jù)文件名查找文件,忽略大小寫(xiě)
-path <表達(dá)式> 根據(jù)路徑查找文件
-ipath <表達(dá)式> 根據(jù)路徑查找文件,忽略大小寫(xiě)
-amin <分鐘> 過(guò)去N分鐘內(nèi)訪問(wèn)過(guò)的文件
-atime <天數(shù)> 過(guò)去N天內(nèi)訪問(wèn)過(guò)的文件
-cmin <分鐘> 過(guò)去N分鐘內(nèi)修改過(guò)的文件
-ctime <天數(shù)> 過(guò)去N天內(nèi)修改過(guò)的文件
-anewer <參照文件> 比參照文件更晚被讀取過(guò)的文件
-cnewer <參照文件> 比參照文件更晚被修改過(guò)的文件
-size <大小> 根據(jù)文件大小查找文件,單位b c w k M G
-type <文件類(lèi)型> 根據(jù)文件類(lèi)型查找文件。b 塊設(shè)備 c 字符設(shè)備 d 目錄 p 管道文件 f 普通文件 l 鏈接 s 端口文件
-user <用戶(hù)名> 按歸屬用戶(hù)查找文件
-uid <uid> 按UID查找文件
-group <群組名> 按歸屬群組查找文件
-gid <gid> 按GID查找文件
-empty 查找空文件
從文件內(nèi)容查找匹配指定字符串的行:
$ grep "被查找的字符串" 文件名
從文件內(nèi)容查找與正則表達(dá)式匹配的行:
$ grep –e “正則表達(dá)式” 文件名
查找時(shí)不區(qū)分大小寫(xiě):
$ grep –i "被查找的字符串" 文件名
查找匹配的行數(shù):
$ grep -c "被查找的字符串" 文件名
從文件內(nèi)容查找不匹配指定字符串的行:
$ grep –v "被查找的字符串" 文件名
從根目錄開(kāi)始查找所有擴(kuò)展名為.log的文本文件,并找出包含”ERROR”的行
find / -type f -name "*.log" | xargs grep "ERROR"
系統(tǒng)查找到httpd.conf文件后即時(shí)在屏幕上顯示httpd.conf文件信息。
find/-name"httpd.conf"-ls
在根目錄下查找某個(gè)文件
find . -name "test"
例:
1. 在某個(gè)目錄下查找包含某個(gè)字符串的文件(加-l參數(shù)可顯示隱藏文件名)
grep -r "keread" ./
如果帶有特殊符號(hào),需要使用轉(zhuǎn)義符,如查找“keread!”
grep -r "keread\!" ./
2. 查找并替換這個(gè)目錄及子目錄下的所有文件,并把內(nèi)容“keread.org”替換成“ifeir.com”
?perl -pi -e 's|keread.org|ifeir.com|g' `find ./ -type f`
(*)? find ./ -type f 此命令是顯示當(dāng)前目錄下所有的文件
(*)? 如果不寫(xiě)最后的那個(gè)g,s|keread.org|ifeir.com|g 將只替換每一行開(kāi)頭的keread.org
3.查找?guī)щp引號(hào)的字符集,雙引號(hào)前加反斜扛,例如查找當(dāng)前目錄下含span class="separator"的所有文件
grep -r "span class=\"separator\"" ./