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