1、最強(qiáng)大的搜索命令:find 查找各種文件的命令
創(chuàng)新互聯(lián)建站專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、海興網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城開發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為海興等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
2、在文件資料中查找文件:locate
3、搜索命令所在的目錄及別名信息:which
4、搜索命令所在的目錄及幫助文檔路徑:whereis
5、在文件中搜尋字符串匹配的行并輸出:grep
6、分頁顯示一個文件或任何輸出結(jié)果:more
7、分頁顯示一個文件并且可以回頭:less
8、指定顯示前多少行文件內(nèi)容:head
9、指定顯示文件后多少行內(nèi)容:tail
10、查看一個文件:cat
11、查看文件內(nèi)容多少字符多少行多少字節(jié):wc
12、排序文件內(nèi)容:sort
一、根據(jù) 文件或目錄名稱 搜索
find 【搜索目錄】【-name或者-iname】【搜索字符】:-name和-iname的區(qū)別一個區(qū)分大小寫,一個不區(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??? (模糊搜索,? 表示單個字符,即搜索到 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ù) 時間屬性 搜索
find 【路徑】【選項】【時間】
選項有下面三種:-amin 訪問時間
-cmin 文件屬性被更改
-mmin 文件內(nèi)容被修改
時間:+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
六、組合條件 搜索
這里有兩個參數(shù):
①、-a 表示兩個條件同時滿足(and)
②、-o 表示兩個條件滿足任意一個即可(or)
范例:查找/etc目錄下大于80MB同時小于100MB的文件
find /etc -size +163840 -a -size -204800
語法:locate【文件名】 -i 不區(qū)分大小寫
注意:這里和 find 命令是有區(qū)別的,find是全盤檢索,而locate 是在文件資料庫中進(jìn)行搜索。所以locate命令的執(zhí)行要比find命令執(zhí)行速度快很多。但是這里有個問題,文件資料庫是需要不斷更新的。我們新創(chuàng)建的文件如果不更新 文件資料庫,使用 locate 是查找不到的。
updatedb 手動更新資料庫,但是對于/tmp目錄下的新建文件,是更新不到文件資料庫的,因為/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ù)用戶指定的模式,對目標(biāo)文件逐行進(jìn)行匹配檢查,打印匹配到的行
grep是在文件中搜索匹配的字符串,是在文件中進(jìn)行內(nèi)容搜索,這個命令后面用到的比較多
描述:
分頁顯示一個文件或任何輸出結(jié)果
用于查看純文本文件(較長的)格式
格式:
more[選項] 文件
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向后移動,而且 less 在查看之前不會加載整個文件。
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
描述:一次顯示整個文件內(nèi)容
cat 命令 用于查看純文本文件(較短)
cat [選項] [文件]…
描述:wc 命令默認(rèn)情況下會打印換行符數(shù)、單詞數(shù)和字符數(shù)。
用法:wc [選項] [文件]
用法:sort [選項] [文件]
轉(zhuǎn)自: Linux下文件搜索、查找、查看命令_黃小小的博客-CSDN博客_linux 搜索
Grep 是一個強(qiáng)大的 UNIX 命令,可讓您在文件內(nèi)容中搜索各種參數(shù)。當(dāng)您進(jìn)行故障排除或調(diào)試時,它特別有用。
grep 命令有大量的選項和用例。您可能永遠(yuǎn)不需要或使用所有這些。但是,您最終會在大多數(shù)情況下使用少數(shù)幾個 grep 命令。
本文列出了最常見的 grep 命令和快速示例:
命令示例:
描述 :不區(qū)分大小寫的搜索
命令示例:
描述 :匹配后顯示 n 行
命令示例:
描述 :在匹配前顯示 n 行
命令示例:
描述 :在匹配前后顯示 n 行
命令示例:
描述 :顯示不匹配的行
命令示例:
描述 :計算匹配行數(shù)
命令示例:
描述 :僅顯示文件名
命令示例:
描述 :匹配確切的單詞
命令示例:
描述 :匹配正則表達(dá)式模式
命令示例:
描述 :搜索二進(jìn)制文件
命令示例:
描述 :遞歸搜索目錄
您可能已經(jīng)知道要在文件中搜索特定文本或模式,您必須像這樣使用 grep:
讓我們看看 grep 命令的幾個常見用例。
默認(rèn)情況下,使用 grep 進(jìn)行的搜索區(qū)分大小寫,-i您可以使用以下選項忽略大小寫匹配:
這樣,grep 將返回與 和 匹配的Holmes行holmes。
默認(rèn)情況下,您只會看到匹配的行,但是,當(dāng)您對某些問題進(jìn)行故障排除時,在匹配行之前和/或之后查看幾行會有所幫助。
您可以使用-A來顯示匹配行之后的行。
下面的命令將顯示匹配的行以及匹配后的 5 行。
同樣,您可以使用該-B選項在匹配行之前顯示行。
下面的命令將在匹配行之前顯示 5 行以及匹配行。
我最喜歡的是該選項-C,因為它顯示了匹配行之前和之后的行。
下面的命令將顯示匹配行之前的 5 行、匹配行和 matchine 行之后的 5 行。
您可以使用 grep 顯示與給定模式不匹配的所有行。此“反轉(zhuǎn)匹配”與以下-v選項一起使用:
您可以組合-i和-v選項。
-c您可以使用選項獲取與模式匹配的行數(shù),而不是顯示匹配的行。這是小寫的c。
您可以結(jié)合-cand-v選項來獲取與給定模式不匹配的行數(shù)。您當(dāng)然可以使用不區(qū)分大小寫的選項-i。
要顯示匹配行的行號,您可以使用該-n選項。
您可以對反向搜索執(zhí)行相同的操作。
您可以提供多個文件供 grep 搜索。
這可能有效,但更實際的示例是搜索特定類型的文件。例如,如果您只想在 shell 腳本中查找字符串(以 .sh 結(jié)尾的文件),您可以使用:
您可以使用 grep option執(zhí)行遞歸搜索-r。它將在當(dāng)前目錄及其子目錄中的所有文件中搜索給定的模式。
默認(rèn)情況下,grep 顯示匹配的行。如果您對多個文件運(yùn)行了搜索,并且只想查看哪些文件包含該字符串,則可以使用該-l選項。
假設(shè)您想查看哪些 Markdown 文件包含“手冊”一詞,您可以使用:
默認(rèn)情況下,grep 將顯示包含給定字符串的所有行。你可能并不總是想要那個。如果您正在搜索單詞“done”,它還會顯示包含“doner”或“abandoned”字樣的行。
要使 grep 僅搜索完整的單詞,您可以使用以下選項-w:
這樣,如果您搜索單詞“done”,它只會顯示包含“done”的行,而不是“doner”或“abandoned”。
您可以使用正則表達(dá)式模式為您的搜索提供超級動力。有一個允許使用正則表達(dá)式模式的專用選項-e和-E一個允許使用擴(kuò)展正則表達(dá)式模式的選項。
您可以在同一個 grep 搜索中搜索多個模式。如果要查看包含一種模式或另一種模式的行,可以使用 OR 運(yùn)算符|。
您可以將多個模式與 OR 運(yùn)算符一起使用。
AND 運(yùn)算符沒有特定選項。為此,您可以多次使用 grep 和管道重定向。
Grep 默認(rèn)忽略二進(jìn)制文件。-a您可以使用該選項使其在二進(jìn)制文件中搜索,就好像它是文本文件一樣。
linxu下的grep命令其實是一個搜索文件文本的工具。下面由我為大家整理了linux的grep命令的詳細(xì)解釋的相關(guān)知識,希望對大家有幫助!
一、linux中的grep命令的詳細(xì)解釋
1.作用
Linux系統(tǒng)中g(shù)rep命令是一種強(qiáng)大的文本搜索工具,它能使用正則表達(dá)式搜索文本,并把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達(dá)式版本,它的使用權(quán)限是所有用戶。
2.格式
grep [options]
3.主要參數(shù)
[options]主要參數(shù):
-c:只輸出匹配行的計數(shù)。
-I:不區(qū)分大 小寫(只適用于單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的所有行。
pattern正則表達(dá)式主要參數(shù):
\: 忽略正則表達(dá)式中特殊字符的原有含義。
^:匹配正則表達(dá)式的開始行。
$: 匹配正則表達(dá)式的結(jié)束行。
\:從匹配正則表達(dá) 式的行開始。
\:到匹配正則表達(dá)式的行結(jié)束。
[ ]:單個字符,如[A]即A符合要求 。
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字符。
* :有字符,長度可以為0。
二、linux中的grep命令的詳解實例
1.grep命令使用簡單實例
$ grep ‘test’ d*
顯示所有以d開頭的文件中包含 test的行。
$ grep ‘test’ aa bb cc
顯示在aa,bb,cc文件中匹配test的行。
$ grep ‘[a-z]\{5\}’ aa
顯示所有包含每個字符串至少有5個連續(xù)小寫字符的字符串的行。
$ grep ‘w\(es\)t.*\1′ aa
如果west被匹配,則es就被存儲到內(nèi)存中,并標(biāo)記為1,然后搜索任意個字符(.*),這些字符后面緊跟著 另外一個es(\1),找到就顯示該行。如果用egrep或grep -E,就不用”\”號進(jìn)行轉(zhuǎn)義,直接寫成’w(es)t.*\1′就可以了。
2.grep命令使用復(fù)雜實例
假設(shè)您正在’/usr/src/Linux/Doc’目錄下搜索帶字符 串’magic’的文件:
$ grep magic /usr/src/Linux/Doc/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件’sysrp.txt’包含該字符串,討論的是 SysRQ 的功能。
默認(rèn)情況下,’grep’只搜索當(dāng)前目錄。如果 此目錄下有許多子目錄,’grep’會以如下形式列出:
grep: sound: Is a directory
這可能會使’grep’ 的輸出難于閱讀。這里有兩種解決的辦法:
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
如果有很多 輸出時,您可以通過管道將其轉(zhuǎn)到’less’上閱讀:
$ grep magic /usr/src/Linux/Documentation/* | less
這樣,您就可以更方便地閱讀。
有一點(diǎn)要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,’grep’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 CTRL c ,然后再試。
下面還有一些有意思的命令行參數(shù):
grep -i pattern files :不區(qū)分大小寫地搜索。默認(rèn)情況區(qū)分大小寫,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整個單詞,而不是字符串的一部分(如匹配’magic’,而不是’magical’),
grep -C number pattern files :匹配的上下文分別顯示[number]行,
grep pattern1 | pattern2 files :顯示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :顯示既匹配 pattern1 又匹配 pattern2 的行。
grep -n pattern files 即可顯示行號信息
grep -c pattern files 即可查找總行數(shù)
這里還有些用于搜索的特殊符號:
\ 和 \ 分別標(biāo)注單詞的開始與結(jié)尾。
例如:
grep man * 會匹配 ‘Batman’、’manic’、’man’等,
grep ‘\man’ * 匹配’manic’和’man’,但不是’Batman’,
grep ‘\man\’ 只匹配’man’,而不是’Batman’或’manic’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,
進(jìn)行Linux系統(tǒng)維護(hù)的時候,想要在文本中快速搜索到你需要的東西,grep命令是非常不錯的選擇,它主要用于查找文件里符合條件的字符串,從而節(jié)省時間、提高工作效率。那么Linux系統(tǒng)中g(shù)rep命令如何使用?我們一起來看看詳細(xì)的內(nèi)容介紹。
Linux grep命令用于查找文件里符合條件的字符串。
grep指令用于查找內(nèi)容包含指定的范本樣式的文件,如果發(fā)現(xiàn)某文件的內(nèi)容符合所指定的范本樣式,預(yù)設(shè)grep指令會把含有范本樣式的那一列顯示出來。若不指定任何文件名稱,或是所給予的文件名為-,則grep指令會從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù)。
語法
grep
[-abcEFGhHilLnqrsvVwxy][-A顯示行數(shù)][-B顯示列數(shù)][-C顯示列數(shù)][-d進(jìn)行動作][-e范本樣式][-f范本文件][--help][范本樣式][文件或目錄...]
參數(shù)
-a或--text:不要忽略二進(jìn)制的數(shù)據(jù)。
-A顯示行數(shù)或--after-context=顯示行數(shù):除了顯示符合范本樣式的那一列之外,并顯示該行之后的內(nèi)容。
-b或--byte-offset:在顯示符合樣式的那一行之前,標(biāo)示出該行第一個字符的編號。
-B顯示行數(shù)或--before-context=顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前的內(nèi)容。
-c或--count:計算符合樣式的列數(shù)。
-C顯示行數(shù)或--context=顯示行數(shù)或-顯示行數(shù):除了顯示符合樣式的那一行之外,并顯示該行之前后的內(nèi)容。
-d動作或--directories=動作:當(dāng)指定要查找的是目錄而非文件時,必須使用這項參數(shù),否則grep指令將回報信息并停止動作。
-e范本樣式或--regexp=范本樣式:指定字符串做為查找文件內(nèi)容的樣式。
-E或--extended-regexp:將樣式為延伸的正則表達(dá)式來使用。
-f規(guī)則文件或--file=規(guī)則文件:指定規(guī)則文件,其內(nèi)容含有一個或多個規(guī)則樣式,讓grep查找符合規(guī)則條件的文件內(nèi)容,格式為每行一個規(guī)則樣式。
-F或--fixed-regexp:將樣式視為固定字符串的列表。
-G或--basic-regexp:將樣式視為普通的表示法來使用。
-h或--no-filename:在顯示符合樣式的那一行之前,不標(biāo)示該行所屬的文件名稱。
-H或--with-filename:在顯示符合樣式的那一行之前,表示該行所屬的文件名稱。
………………
參數(shù)較多,就不為大家一一講解了!
1、grep [選項] 字符串 文件名(在文件中匹配符合條件的字符串)
選項:
-i 忽略大小寫
-v 排除指定的字符串
例子:
grep "test" a.txt(在a.txt中搜索匹配test的字符串)
注意:
find命令:在系統(tǒng)中搜符合條件文件名,使用通用符,通用符是完全匹配
grep命令:在文件中搜索符合條件字符串,使用正則匹配,正則包含匹配