1、最強(qiáng)大的搜索命令:find 查找各種文件的命令
創(chuàng)新互聯(lián)公司2013年成立,先為永定等服務(wù)建站,永定等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為永定企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行并輸出:grep
6、分頁顯示一個(gè)文件或任何輸出結(jié)果:more
7、分頁顯示一個(gè)文件并且可以回頭:less
8、指定顯示前多少行文件內(nèi)容:head
9、指定顯示文件后多少行內(nèi)容:tail
10、查看一個(gè)文件:cat
11、查看文件內(nèi)容多少字符多少行多少字節(jié):wc
12、排序文件內(nèi)容:sort
一、根據(jù) 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區(qū)別一個(gè)區(qū)分大小寫,一個(gè)不區(qū)分大小寫
eg:在/etc 目錄下搜索名字為init的文件或目錄
①、find /etc -name init (精準(zhǔn)搜索,名字必須為 init 才能搜索的到)
②、find /etc -iname init (精準(zhǔn)搜索,名字必須為 init或者有字母大寫也能搜索的到)
③、find /etc -name *init (模糊搜索,以 init 結(jié)尾的文件或目錄名)
④、find /etc -name init??? (模糊搜索,? 表示單個(gè)字符,即搜索到 init___)
二、根據(jù) 文件大小 搜索
eg:在根目錄下查找大于 100M 的文件
find / -size +204800
這里 +n 表示大于,-n 表示小于,n 表示等于
1 數(shù)據(jù)塊 == 512 字節(jié) 0.5KB,也就是1KB等于2數(shù)據(jù)塊
100MB == 102400KB204800數(shù)據(jù)塊
三、根據(jù) 所有者和所屬組 搜索
①、在home目錄下查詢所屬組為 root 的文件
find /home -group root
②、在home目錄下查詢所有者為 root 的文件
find /home -user root
四、根據(jù) 時(shí)間屬性 搜索
find 【路徑】【選項(xiàng)】【時(shí)間】
選項(xiàng)有下面三種:-amin 訪問時(shí)間
-cmin 文件屬性被更改
-mmin 文件內(nèi)容被修改
時(shí)間:+n,-n,n分別表示超過n分鐘,n分鐘以內(nèi)和n分鐘
eg:在 /etc 目錄下查找5 分鐘內(nèi)被修改過屬性的文件和目錄
find /etc -cmin -5
五、根據(jù) 文件類型或i節(jié)點(diǎn) 搜索
-type 根據(jù)文件類型查找:
f表示文件,d表示目錄,l表示軟鏈接
eg:查找 /home 目錄下文件類型是目錄的
find /home -type d
-inum 根據(jù)i節(jié)點(diǎn)查找
eg:查找 /tmp 目錄下i節(jié)點(diǎn)為400342的文件或目錄
find /tmp -inum 400342
六、組合條件 搜索
這里有兩個(gè)參數(shù):
①、-a 表示兩個(gè)條件同時(shí)滿足(and)
②、-o 表示兩個(gè)條件滿足任意一個(gè)即可(or)
范例:查找/etc目錄下大于80MB同時(shí)小于100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區(qū)分大小寫
注意:這里和 find 命令是有區(qū)別的,find是全盤檢索,而locate 是在文件資料庫中進(jìn)行搜索。所以locate命令的執(zhí)行要比find命令執(zhí)行速度快很多。但是這里有個(gè)問題,文件資料庫是需要不斷更新的。我們新創(chuàng)建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動(dòng)更新資料庫,但是對(duì)于/tmp目錄下的新建文件,是更新不到文件資料庫的,因?yàn)?tmp目錄不屬于文件資料庫的收錄范圍。
eg:locate hcf
功能描述:搜索命令所在的目錄及別名信息
語法:which【命令】
eg:which ls
功能描述:搜索命令所在的目錄及幫助文檔路徑
語法:whereis【命令】
eg:whereis ls
功能描述:在文件中搜尋字符串匹配的行并輸出
語法:grep -iv 【指定字符串】【文件】
-i 不區(qū)分大小寫
-v 排除指定字符串
eg:查找 /root/install.log 文件中包含 mysql 字符串的行,并輸出
grep mysql /root/install.log
本搜索工具,根據(jù)用戶指定的模式,對(duì)目標(biāo)文件逐行進(jìn)行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進(jìn)行內(nèi)容搜索,這個(gè)命令后面用到的比較多
描述:
分頁顯示一個(gè)文件或任何輸出結(jié)果
用于查看純文本文件(較長的)格式
格式:
more[選項(xiàng)] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動(dòng),卻不能向后移動(dòng),而且 less 在查看之前不會(huì)加載整個(gè)文件。
head[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件開始多少行內(nèi)容
命令參數(shù):
-n 10 顯示前10行
-n -10 正常輸出但不顯示最后的10行
eg:顯示new.txt的前兩行內(nèi)容
head -n 2 new.txt
head -2 new.txt
tail[必要參數(shù)][選擇參數(shù)][文件]
用于顯示指定文件末尾多少行內(nèi)容
命令參數(shù):
-n 10 顯示后面10行
-f 持續(xù)刷新顯示的內(nèi)容
eg:顯示new.txt的末尾兩行內(nèi)容
tail -n 2 new.txt
tail -2 new.txt
eg:指定從第二行開始顯示
tail -n +2 new.txt
描述:一次顯示整個(gè)文件內(nèi)容
cat 命令 用于查看純文本文件(較短)
cat [選項(xiàng)] [文件]…
描述:wc 命令默認(rèn)情況下會(huì)打印換行符數(shù)、單詞數(shù)和字符數(shù)。
用法:wc [選項(xiàng)] [文件]
用法:sort [選項(xiàng)] [文件]
轉(zhuǎn)自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
1、grep [選項(xiàng)] 字符串 文件名(在文件中匹配符合條件的字符串)
選項(xiàng):
-i 忽略大小寫
-v 排除指定的字符串
例子:
grep "test" a.txt(在a.txt中搜索匹配test的字符串)
注意:
find命令:在系統(tǒng)中搜符合條件文件名,使用通用符,通用符是完全匹配
grep命令:在文件中搜索符合條件字符串,使用正則匹配,正則包含匹配
Linux查找字符串用grep命令,可以查找文件,也可以在命令的結(jié)果中查找。如果是在文件中查找字符串,用法是:
grep 用英文單引號(hào)括起來的字符串 文件名
如果是在命令的顯示結(jié)果中查找,需要用管道符將命令與grep連接起來,像這樣:
last | grep 'root'
(在last命令的顯示結(jié)果中查找字符串root)
在 Linux 中,您可以使用 grep 命令來實(shí)現(xiàn)這個(gè)功能。該命令可以用來在文本文件中搜索特定的文本模式。
例如,要查找在文件 all.log 中含有單詞 word 的行,您可以使用以下命令:
grep word all.log
如果要查找多個(gè)單詞,您可以將它們放在一個(gè)字符串中,然后將該字符串作為 grep 命令的參數(shù)。例如,要查找在文件 all.log 中含有單詞 word、list、hello、good 或 bad 的行,您可以使用以下命令:
grep "word|list|hello|good|bad" all.log
請(qǐng)注意,單詞之間使用 | 符號(hào)隔開,表示“或”的意思。
此外,您還可以使用 -f 選項(xiàng)來指定要查找的單詞列表所在的文件,這樣就可以避免在命令行中手動(dòng)輸入單詞列表。例如,如果要查找的單詞列表保存在文件 search.txt 中,您可以使用以下命令:
grep -f search.txt all.log
希望這些信息能夠幫助您解決問題。
在normal模式下按下/即可進(jìn)入查找模式,輸入要查找的字符串并按下回車。
Vim會(huì)跳轉(zhuǎn)到第一個(gè)匹配。按下n查找下一個(gè),按下N查找上一個(gè)。
Vim查找支持正則表達(dá)式,例如/vim$匹配行尾的"vim"。 需要查找特殊字符需要轉(zhuǎn)義,例如/vim\$匹配"vim$"。
實(shí)戰(zhàn)一下:
1、用vim打開要查找的文件
2、在normal模式下/即可進(jìn)入查找模式,輸入要查詢字符串
3、光標(biāo)停留在loop上
4、按下n會(huì)查找下一個(gè),注意光標(biāo)
更多命令:
注意,如果沒有安裝vim,系統(tǒng)會(huì)提示安裝語句,復(fù)制運(yùn)行即可安裝vim
參考資料:vim中文文檔
find,用于在文件樹中查找文件并作相應(yīng)的處理
-name:按照文件名查找文件
-perm:按照文件權(quán)限查找文件
-user:按照文件屬主來查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所屬的組來查找文件
-mtime-n+n:按照文件更改時(shí)間來查找文件,-n表示n天之內(nèi),+n表示n天以前
-newer file1 file2:查找更改時(shí)間在file1和file2之間的文件
例如:
find -mtime -2:查找48小時(shí)修改過的文件
find -name ".log":查找當(dāng)前目錄以".log"結(jié)尾的文件
find /opt/soft/test -perm 777:查找指定目錄下權(quán)限為777的文件
find -type f -name "*.log":查找當(dāng)前目錄下以".log"結(jié)尾的普通文件
find -type d | sort:查找當(dāng)前所有目標(biāo)目錄并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路徑,利用事先建立的系統(tǒng)中的所有文件名稱和路徑的locate數(shù)據(jù)庫,無需遍歷整個(gè)文件系統(tǒng),查詢速度較快,為了保證查詢準(zhǔn)確性,需要定期更新。《Linux就該這么學(xué)》
updatedb:第一次運(yùn)行前,創(chuàng)建locate數(shù)據(jù)庫
grep,用于過濾/搜索指定字符串??梢允褂谜齽t表達(dá)式,能配合多種命令使用。
用法:grep 【選項(xiàng)】 查找內(nèi)容 源文件
-A:顯示符合的行及之后的內(nèi)容
-B:顯示符合的行及之前的內(nèi)容
-C:顯示符合的行及前后的內(nèi)容
-c:計(jì)算符合的行數(shù)目
-n:顯示匹配行和行號(hào)
-i:忽略大小寫
規(guī)則表達(dá)式
:'grep'表示匹配所有以grep開頭的行
'表示匹配所有以grep結(jié)尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一個(gè)或多個(gè)空格后緊跟grep的行
[]:[Gg]rep表示匹配Grep與grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭并緊跟rep的行
例如(grep命令大多數(shù)時(shí)候多要和別的命令一起使用才有意義):
ps -ef | grep -c SVN:查找指定的進(jìn)程的個(gè)數(shù)
cat test.txt | grep -f test2.txt:從text2.txt中讀取關(guān)鍵字后在test.txt中搜索
cat test.txt | grep nf text2.txt:從text2.txt中讀取關(guān)鍵字后在text.txt中搜索并顯示行號(hào)
grep 'linux' text.txt test2.txt:從多個(gè)文件中搜索關(guān)鍵字'linux'
cat test.txt | grep -E 'ed|at':顯示包含ed或at的行
分享標(biāo)題:linux字符查找命令,linux文件中查找字符
網(wǎng)頁鏈接:http://jinyejixie.com/article30/hsehpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、建站公司、網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)