find 命令的基本結(jié)構(gòu)如下:
創(chuàng)新互聯(lián)主營南縣網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,南縣h5小程序設(shè)計搭建,南縣網(wǎng)站營銷推廣歡迎南縣等地區(qū)企業(yè)咨詢
find 命令手冊 : man find
find 命令中的 -name 選項可以根據(jù)文件名稱進(jìn)行檢索( 區(qū)分大小寫 )。如需要忽略文件名中的大小寫,可以使用 -iname 選項。
-name 和 -iname 兩個選項都支持 wildcards 。如:
例1:查找 /usr 目錄下所有文件名以 .txt 結(jié)尾的文件
例2:查找 /usr 目錄下所有文件名剛好為 4 個字符的文件
例3:查以大寫字母開頭的文件
例4:查以兩個小寫字母和兩個數(shù)字開頭的txt文件
類似的還有:
-lname -ilname
-path -ipath
-regx -iregx
有些時候,你需要在搜索時匹配某個文件或目錄的 完整路徑 ,而不僅僅是匹配文件名。可以使用 -path 或 -ipath 選項。
例1:如查找 /usr 下所有文件名以 .txt 結(jié)尾的文件或目錄,且該文件的父目錄必須是 src 。可以使用以下命令:
例2:在當(dāng)前目錄除aa之外的子目錄內(nèi)搜索 txt文件
例3:在當(dāng)前目錄,不再子目錄中,查找txt文件
如果只想搜索得到文件 或 目錄,即不想它們同時出現(xiàn)在結(jié)果中??梢允褂? -type 選項指定文件類型。
-type 選項最常用的參數(shù)如下:
例:檢索 /usr 下所有文件名以 python 開頭的目錄
find 命令支持 -empty 選項用來檢索 為空 的文件或目錄??瘴募次募餂]有任何內(nèi)容,空目錄即目錄中沒有任何文件或子目錄。
例:檢索用戶主目錄下所有的空目錄
find 命令也允許用戶對當(dāng)前的匹配條件進(jìn)行 “反義” (類似于 邏輯非 操作)。
如需要檢索 /usr 下所有文件名 不 以 .txt 為后綴的文件??梢允褂靡韵旅睿?/p>
也可以“翻轉(zhuǎn)”任何其他的篩選條件,如:檢索 /usr 下所有內(nèi)容不為空的文件
為了檢索歸屬于特定用戶的文件或目錄,可以使用 -user 選項。
例:檢索根目錄下所有屬主為 starky 的文件
類似于 -user 選項, -group 選項則可以根據(jù)文件或目錄的 屬組 進(jìn)行檢索。
有些時候,需要根據(jù)文件創(chuàng)建或修改的時間進(jìn)行檢索。
Linux 系統(tǒng)中,與文件相關(guān)聯(lián)的時間參數(shù)有以下三種:
與此對應(yīng)的是 find 命令中的 -mtime , -atime 和 -ctime 三個選項。
這三個選項的使用遵循以下示例中的規(guī)則:
檢索 /usr 下兩天前被修改過的文件
如果覺得 -mtime 等選項以 天 為單位時間有點長,還可以使用 -mmin , -amin , -cmin 三個選項。
查找比 aa.txt 新 的文件
查找比 aa.txt 舊 的文件
查找比aa.txt新,比bb.txt舊的文件
-size 選項允許用戶通過文件大小進(jìn)行搜索(只適用于文件,目錄沒有大小……)。
表示文件大小的單位由以下字符組成:
另外,還可以使用 + 或 - 符號表示 大于 或 小于 當(dāng)前條件。
檢索文件大小高于 1 GB 的文件
find 命令可以使用 -perm 選項以文件權(quán)限為依據(jù)進(jìn)行搜索。
9.1使用符號形式
例1:如需要檢索 /usr 目錄下權(quán)限為 rwxr-xr-x 的文件,可以使用以下命令:
例2:搜索 /usr 目錄下所有權(quán)限為 r-xr-xr-x (即系統(tǒng)中的所有用戶都只有讀寫權(quán)限)的文件和目錄,可以使用以下命令:
很多時候,我們只想匹配文件權(quán)限的一個 子集 。比如,檢索可以直接被任何用戶執(zhí)行的文件,即只關(guān)心文件的執(zhí)行權(quán)限,而不用管其讀寫權(quán)限是什么。
上述的需求可以通過以下命令實現(xiàn):
其中 a=x 前面的 / 符號即用來表示只匹配權(quán)限的某個子集(執(zhí)行權(quán)限),而不用關(guān)心其他權(quán)限的具體設(shè)置。
9.2使用數(shù)字形式
例如:搜索 /usr 目錄下權(quán)限為 644 (即 rwxr-xr-x )的文件
find 命令默認(rèn)是以 遞歸 的方式檢索項目的,這有時候會導(dǎo)致得到的結(jié)果數(shù)量非常巨大。可以使用 -maxdepth 限制 find 命令遞歸的層數(shù)。
例如:搜索時向下遞歸的層數(shù)最大為 3
在之前的例子中有出現(xiàn)多個搜索條件的 組合 以及對某個搜索條件的 反轉(zhuǎn) 。
實際上 find 命令支持 “and” 和 “or” 兩種邏輯運(yùn)算,對應(yīng)的命令選項分別是 -a 和 -o 。通過這兩個選項可以對搜索條件進(jìn)行更復(fù)雜的組合。
此外還可以使用 小括號 對搜索條件進(jìn)行 分組 。注意 find 命令中的小括號常需要用 單引號 包裹起來。因小括號在 Shell 中有特殊的含義。
如檢索 /usr 下文件名以 python 開頭且類型為目錄的文件
該命令等同于:
更復(fù)雜的組合形式如:
例4:在除dir0及子目錄以外的目錄下查找txt后綴文件
說明:-a 應(yīng)該是and的縮寫,意思是邏輯運(yùn)算符‘與’(); -o應(yīng)該是or的縮寫,意思是邏輯運(yùn)算符‘或’(||), -not 表示非.
命令行的意思是:如果目錄dir0存在(即-a左邊為真),則求-prune的值,-prune 返回真,‘與’邏輯表達(dá)式為真(即-path './dir0*' -a -prune 為真),find命令將在除這個目錄以外的目錄下查找txt后綴文件并打印出來;如果目錄dir0不存在(即-a左邊為假),則不求值-prune ,‘與’邏輯表達(dá)式為假,則在當(dāng)前目錄下查找所有txt后綴文件。
-delete 選項可以用來刪除搜索到的文件和目錄。
例如:刪除 home 目錄下所有的空目錄:
-exec 選項可以對搜索到的結(jié)果執(zhí)行執(zhí)行該參數(shù)所給出的shell命令。形式為 command {} \; ,注意{}與\;之間有空格 。每當(dāng) find 命令檢索到一個符合條件的文件,會使用其完整路徑取代命令中的 {} ,然后執(zhí)行 -exec 后面的命令一次。
例1:如需要將 home 目錄下所有的 MP3 音頻文件復(fù)制到移動存儲設(shè)備(假設(shè)路徑是 /media/MyDrive ),可使用下面的命令:
其中的 大括號 ( {} )作為檢索到的文件的 占位符 ,而分號( ; )作為命令結(jié)束的標(biāo)志。因為分號是 Shell 中有特殊含義的符號,所以需要使用單引號括起來或前面加上轉(zhuǎn)義符 \ 。
例2:查看當(dāng)前目錄下的所有普通文件,并在 - exec 選項中使用 ls -l 命令將它們列出
例3:在多個文件中檢索某個指定的字符串。如在用戶主目錄下的所有文件中檢索字符串 hello ,可以使用如下命令:
創(chuàng)建 Gzip 格式的壓縮文件的命令為:
現(xiàn)在假設(shè)需要將用戶主目錄下所有的 MP3 文件添加到壓縮包 music.tar.gz 中,直觀的感覺是,其命令應(yīng)為如下形式:
實際情況是,這樣得到的 music.tar.gz 其實只包含一個 MP3 文件。原因是 find 命令 每次 發(fā)現(xiàn)一個音頻文件,都會再執(zhí)行一次 -exec 選項后面的壓縮命令。導(dǎo)致先前生成的壓縮包被覆蓋。
可以先讓 find 命令檢索出所有符合條件的音頻文件,再將得到的 文件列表 傳遞給后面的壓縮命令。完整的命令如下:
如果想瀏覽搜索到的文件(目錄)的詳細(xì)信息(如權(quán)限和大小等),可以直接使用 -ls 選項。
例如:瀏覽所有 1G 以上大小的文件的詳細(xì)信息
與exec作用相同,區(qū)別在于,在執(zhí)行命令之前,都會給出提示,讓用戶確認(rèn)是否執(zhí)行
與 exec 作用相同 ,起承接作用。區(qū)別在于 |xargs 主要用于承接刪除操作 ,而 -exec 都可用 如復(fù)制、移動、重命名等
例1:查找以ap或may開頭的文件
例2:查硬連接數(shù)大于2的文件或目錄
例3:查找含特定字符串的文件。查找當(dāng)前目錄下含有"the string you want find…"字符串的文件:
例4:從根目錄開始查tmpfile,一旦查到馬上刪除
例5:如何用find查找某一天更改的文件?可以使用這一行命令來實現(xiàn):
A Guide to the Linux “Find” Command
1.cd/home/fleety/Diagserver/log
cd到指定的目錄
2.tail -f day.log
實時讀取指定目錄下的日志(一直中,不停止)
3.grep -a 'mdtId' day.log 或 grep -v 'mdtid' day.log
指定條件下查找mdtid文件的記錄
4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz
分別是四個參數(shù)
x : 從 tar 包中把文件提取出來
z : 表示 tar 包是被 gzip 壓縮過的,所以解壓時需要用 gunzip 解壓
v : 顯示詳細(xì)信息
f xxx.tar.gz : 指定被處理的文件是 xxx.tar.gz
5.mkdir -p/home/fkeety/Diagserver/log
在home下建一個fleeety的子目錄,在fleety下建一個DiagServer的子目錄,在DiagServer建一個log的子目錄
6.mv day.log day.log.bak
mv,移動文件到另一個文件,備份
7.rm -rf day.log
刪除這個文件
8.vi day.log
打開或新建day.log文件,并將光標(biāo)置于第一行首
9.pwd
顯示工作目錄
10. In -s aa bb
為bb文件在aa文件上建立一個同步的鏈接
11.unzip day.log.zip
解壓到當(dāng)前目錄下
12. find/home/fleety/Diagserver -name ' zwyc' -print**
查找名稱為XXX的內(nèi)容并打印
13.ssh -l root 180.168.34.250 -p 9222
root權(quán)限連接主機(jī),端口是9222
14.telnet 192.168.0.22 23
建立遠(yuǎn)程tcp連接
15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2
將字符串'100,2720p' 寫入文件15..._2文件里 并重定向到15..._2_2文件里
16.chmod fleety.fleety aaa
給fleety.fleety設(shè)置權(quán)限
17.chown 755 aaa
給aaa 添加
7 擁有者有 讀取,寫入,執(zhí)行權(quán)限
7 組用戶有 讀取,寫入,執(zhí)行權(quán)限
5 其他用戶有 讀取,執(zhí)行權(quán)限
18.cp -r /home/fleety/Diagserve/log ./
將log文件下的所有內(nèi)容 復(fù)制到當(dāng)前目錄下
19.ftp 192.168.0.218 21
ftp模式連接遠(yuǎn)程主機(jī) ,服務(wù)器會詢問用戶名和密碼
20.more day.log
查看day.log日志,分頁形式打開, more 一頁頁顯示文件內(nèi)容 空白鍵下一頁 b鍵上一頁
21.ps -ef
查看系統(tǒng)進(jìn)程
22.top
主要用于查看進(jìn)程的相關(guān)信息,同時它也會提供系統(tǒng)平均負(fù)載,cpu 信息和內(nèi)存信息
linxu下的init命令是進(jìn)程初始化工具。下面由我為大家整理了linux的init命令的詳細(xì)解釋的相關(guān)知識,希望對大家有幫助!
一、linux中的init命令的詳細(xì)解釋
init命令
init命令是Linux下的進(jìn)程初始化工具,init進(jìn)程是所有Linu x的進(jìn) 程的父進(jìn)程,它的進(jìn)程號為1。init命令是Linux 操作系統(tǒng) 中不可缺少的程序之一,init進(jìn)程是Linux內(nèi)核引導(dǎo)運(yùn)行的,是系統(tǒng)中的第一個進(jìn)程。
語法
init(選項)(參數(shù))
選項
-b:不執(zhí)行相關(guān)腳本而直接進(jìn)入單用戶模式;
-s:切換到單用戶模式。 參數(shù) 運(yùn)行等級:指定Linux系統(tǒng)要切換到的運(yùn)行等級。
二、linux中的init命令的詳解實例
幾個常用的命令
查看系統(tǒng)進(jìn)程命令:ps -ef | head
查看init的配置文件:more /etc/inittab
查看系統(tǒng)當(dāng)前運(yùn)行的級別:runlevel
運(yùn)行級別
到底什么是運(yùn)行級呢?簡單的說,運(yùn)行級就是操作系統(tǒng)當(dāng)前正在運(yùn)行的功能級別。這個級別從0到6 ,具有不同的功能。你也可以在/etc/inittab中查看它的英文介紹。
#0 停機(jī)(千萬不能把initdefault 設(shè)置為0)
#1 單用戶模式
#2 多用戶,沒有 NFS(和級別3相似,會停止部分服務(wù))
#3 完全多用戶模式
#4 沒有用到
#5 x11(Xwindow)
#6 重新啟動(千萬不要把initdefault 設(shè)置為6)
三、linux的init命令的六種模式簡介
6種模式中有兩種是系統(tǒng)內(nèi)定的:
0:停止系統(tǒng)運(yùn)行。init 0〈回車〉相當(dāng)于 halt〈回車〉。
6:重啟系統(tǒng)。init 6〈回車〉相當(dāng)于 reboot〈回車〉。
如果你了解/etc/inittab文件,就千萬不要把0設(shè)為缺省登錄模式,否則你的Linux的運(yùn)行就只能兩點一線了mdash;mdash;開機(jī)larr;rarr;停機(jī),或者是開機(jī)larr;rarr;重啟的無限循環(huán)。 其他的4種模式實際上是由操作系統(tǒng)確定的。如果你愿意修改Linux的源代碼,你也可以定義這4種(甚至6種)模式的實際功能。其實只要知道Linux發(fā)布廠商的約定就足夠了,下面我們就以藍(lán)點2.0為例,看看init的常用約定吧mdash;mdash;
init 1mdash;mdash;進(jìn)入單用戶模式。這和開機(jī)是選擇Safe Mode是一樣的,可以以root的權(quán)限對系統(tǒng)進(jìn)行管理,但是不能進(jìn)入圖形模式,也不支持中文,聲卡和網(wǎng)絡(luò)服務(wù)等就更不用提了??傊?,它是系統(tǒng)可運(yùn)行的最低軟硬件配置。 它和Windows的安全模式是比較相似的,但一個本質(zhì)的差別:在于只要你在Linux下運(yùn)行相應(yīng)的命令,硬件設(shè)備是可以在這種模式下被驅(qū)動的。例如只 要你的光驅(qū)連線正確,一個mount /dev/cdrom命令,你的光盤內(nèi)容就隨時可以在/mnt/cdrom里讀出來。 要注意的是這一模式的字符控制臺不能支持中文,但進(jìn)入Xwin仍然能看到藍(lán)點漂亮的中文字體,輸入法也完全沒有問題。
init 2mdash;mdash;進(jìn)入無網(wǎng)絡(luò)服務(wù)的多用戶模式 如果你的計算機(jī)根本沒有連網(wǎng),這個模式就跟普通模式一樣了。否則的話別人就不能通過網(wǎng)絡(luò)www、ftp或telnet登錄你的計算機(jī)了,但對與ping 命令你的計算機(jī)還是會作出反應(yīng)的。如果連ping你也拒絕訪問,那么就不如直接把網(wǎng)線拔了! 如果你的計算機(jī)作為網(wǎng)絡(luò)服務(wù)器,這一模式就挺有用了。譬如你要修整系統(tǒng)或更新網(wǎng)站內(nèi)容,就可以把計算機(jī)調(diào)到這一模式,然后放心的進(jìn)行你的工作,等工作完成 后再切換到模式3或5就行了。但注意如果原來已經(jīng)有用戶ftp或telnet進(jìn)入了你的系統(tǒng),用init 2 是不能中斷他和你的連接的,小心讓別人在這個時候黑你一把哦!mdash;mdash;執(zhí)行init 2前先用who命令檢查一下吧。 這一模式下,在本機(jī)上的使用基本不變。你仍然可以訪問網(wǎng)絡(luò),上Internet,ftp或telnet到網(wǎng)絡(luò)中的任何一臺服務(wù)器。只是你的計算機(jī)在網(wǎng)絡(luò)中不給其他機(jī)器提供服務(wù)而已。計算機(jī)從第3運(yùn)行級轉(zhuǎn)入這一模式時你會看到一系列網(wǎng)絡(luò)服務(wù)被停止。
init 3或init 4mdash;mdash;進(jìn)入控制臺登錄的多用戶模式 這是藍(lán)點1.0的默認(rèn)登錄模式,每個用戶都要先從黑白屏幕登錄之后才可以運(yùn)行才能start x后進(jìn) 入KDE精彩的圖形世界。而且Xwin啟動后,運(yùn)行 startx的控制臺就被鎖定了,除非你用startx 把Xwin放到后臺運(yùn)行。要到別的控制臺用Ctrl+Alt+F,表示數(shù)字1到6中任一個,Ctrl+Alt+F7則回到圖形模式專用的7 號控制臺(有時要用Ctrl+Alt+F8)。 如果是從init 1 或init 2切換回init 3,我們可以看到一系列服務(wù)被重啟。
init 5mdash;mdash;進(jìn)入圖形化登錄的多用戶模式 這是藍(lán)點2.0安裝后默認(rèn)的啟動模式。系統(tǒng)啟動后或執(zhí)行init 5命令后,悅目的藍(lán)綠過渡色背景上就出現(xiàn)了漂亮的登錄窗口。 所有帳號名都以圖標(biāo)的方式出現(xiàn)在窗口里等待選擇,不必自己輸入。不過系統(tǒng)管理員可能不高興mdash;mdash;這樣系統(tǒng)里有多少用戶豈不是讓人一目了然?不過在KDE控制中心中修改就可以解決問題的,我就不多說啦。 如果系統(tǒng)出了問題,只要啟動仍然能進(jìn)入這個界面(說明X服務(wù)器沒有問題),root帳號也可以從這里進(jìn)入Linux的安全模式,就是在左下角的選擇框把 模式從kde換為save failed就行了。當(dāng)然進(jìn)入的界面絕對沒有美觀可言,但用于修復(fù)X窗口管理器或應(yīng)用程序的問題是必不可少的。
1、文件與文件夾(目錄)操作命令
1)rm:刪除命令
例:$ rm -i 文件名-------------有詢問“Y/N”; rm -r 文件名 ---------------刪除該文件夾和子目錄下的所有文件;
例:$ rm -f 文件名------------- 直接刪除,不詢問
2) mv:移動目錄或文件,還可以重命名
例:$ mv text /zzz -------------將text移動到zzz目錄下;
例:$ mv text zzz ---------------text重命名為zzz
3) mkdir:創(chuàng)建路徑和刪除路徑,創(chuàng)建目錄
例:$ mkdir zzz -------------在當(dāng)前目錄下創(chuàng)建zzz的目錄;
例:$ rmdir zzz ---------------刪除目錄zzz
4) touch :創(chuàng)建空文件
例:$ touch zzz.xx ----------------創(chuàng)建文件名是zzz.xx的文件
5)cat :查看文件內(nèi)容
例:$ cat zzz.xx -----------------查看文件zzz.xx中的內(nèi)容
6)tail :監(jiān)視文件尾部內(nèi)容,默認(rèn)10行
例:$ tail -n 20 -f zzz.xx -----------查看文件zzz.xx的尾部20行內(nèi)容
7)cp :復(fù)制
例:$ cp a.xx b -------將a.xx文件復(fù)制到b目錄(文件夾)下
8)scp :拷貝文件
例:$ scp -i zzz.xx root@192.168.1.35:/xxx/xxxx/ -----------------從一臺虛擬機(jī)上將文件zzz.xx拷貝到另外一臺35的虛擬機(jī)的指定目錄下;
例:$ scp -r zzz root@192.168.1.35:/xxx/xxxx/ -----------------從一臺虛擬機(jī)上將文件夾(目錄)zzz拷貝到另外一臺35的虛擬機(jī)的指定目錄下
9)chmod :給文件賦權(quán)限
例:$ chmod 777 zzz.xx 給zzz.xx文件增加可執(zhí)行的權(quán)限2、查看端口號的命令 : netstat -antpl
3、查看正在執(zhí)行的進(jìn)程的命令 : ps -ef
4、強(qiáng)制殺死xxxx該進(jìn)程的命令 :kill - 9 xxxx
5、配置Java環(huán)境變量的命令:
先執(zhí)行---- vi /etc/profile 配置結(jié)束執(zhí)行------- socrce /etc/profice 然后執(zhí)行-------cat /etc/profile進(jìn)行查看,用java -version查看Java版本
6、df -h ----------------是查看磁盤容量的使用情況
必要參數(shù):
-a 全部文件系統(tǒng)列表
-h 方便閱讀方式顯示
-H 等于“-h”,但是計算式,1K=1000,而不是1K=1024
-i 顯示inode信息
-k 區(qū)塊為1024字節(jié)
-l 只顯示本地文件系統(tǒng)
-m 區(qū)塊為1048576字節(jié)
--no-sync 忽略 sync 命令
-P 輸出格式為POSIX
--sync 在取得磁盤信息前,先執(zhí)行sync命令
-T 文件系統(tǒng)類型
選擇參數(shù):
--block-size=區(qū)塊大小 指定區(qū)塊大小
-t文件系統(tǒng)類型 只顯示選定文件系統(tǒng)的磁盤信息
-x文件系統(tǒng)類型 不顯示選定文件系統(tǒng)的磁盤信息
--help 顯示幫助信息
--version 顯示版本信息
“df -h”這條命令再熟悉不過。以更易讀的方式顯示目前磁盤空間和使用情況。
“df -i” 以inode模式來顯示磁盤使用情況。
7、網(wǎng)絡(luò)命令
1)ifconfig :查看用戶網(wǎng)絡(luò)配置。它顯示當(dāng)前網(wǎng)絡(luò)設(shè)備配置。補(bǔ)充:Windows 用的是 ipconfig
2)ping 將數(shù)據(jù)包發(fā)向用戶指定地址。當(dāng)包被接收,目標(biāo)機(jī)器發(fā)送返回數(shù)據(jù)包。ping 主要有兩個作用:
用來確認(rèn)網(wǎng)絡(luò)連接是暢通的。
用來查看連接的速度信息。
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
這樣,您就可以更方便地閱讀。
有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,’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’等其他的字符串。
‘^’:指匹配的字符串在行首,
‘$’:指匹配的字符串在行 尾,
linux常用命令如下:
1、查看內(nèi)核版本:uname -a。
2、控制臺-》圖形界面:init 5或者startx。
3、圖形界面-》控制臺: init3或者直接注銷。
4、如何查看ip地址:ifconfig。
5、配置ip:ifconfig eth0 ip地址。
6、重啟:reboot 或者 shutdown -r now。
7、普通用戶切換到系統(tǒng)用戶:su。
8、注銷用戶指令:logout。
linux的學(xué)習(xí)技巧:
如果你想系統(tǒng)的學(xué)習(xí)Linux,你必需清楚的認(rèn)識到這一點。如果你真正想系統(tǒng)的學(xué)習(xí)linux,想用Linux有所作為,那么請忘記Windows的思維方式,思想性的轉(zhuǎn)變比暫時性的技術(shù)提高更有用, 而思想上的改變往往是受到我們行動所影響的,有不懂的問題就自己思考,查資料, 實在不會再去找別人的電腦去查,這樣就加深了我每次對問題的理解,慢慢感受和習(xí)慣Linux的操作方式。