在linux中g(shù)rep命令是非常有用的,它和管道(|)配合使用,非常強大,用于搜索文本文件.如果想要在幾個文本文件中查找一字符串,可以使用‘grep’命令?!甮rep’在文本中搜索指定的字符串。
創(chuàng)新互聯(lián)建站服務項目包括樂山網(wǎng)站建設、樂山網(wǎng)站制作、樂山網(wǎng)頁制作以及樂山網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,樂山網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到樂山省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
假設您正在‘/usr/src/linux/Documentation’目錄下搜索帶字符串‘magic’的文件:
$ grep magic /usr/src/linux/Documentation/*
sysrq.txt:* How do I enable the magic SysRQ key?
sysrq.txt:* How do I use the magic SysRQ key?
其中文件‘sysrp.txt’包含該字符串,討論的是 SysRQ 的功能。
默認情況下,‘grep’只搜索當前目錄。如果此目錄下有許多子目錄,‘grep’會以如下形式列出:
grep: sound: Is a directory
這可能會使‘grep’的輸出難于閱讀。這里有兩種解決的辦法:
明確要求搜索子目錄:grep -r
或忽略子目錄:grep -d skip
當然,如果預料到有許多輸出,您可以通過 管道 將其轉(zhuǎn)到‘less’上閱讀:
$ grep magic /usr/src/linux/Documentation/* | less
這樣,您就可以更方便地閱讀。
有一點要注意,您必需提供一個文件過濾方式(搜索全部文件的話用 *)。如果您忘了,‘grep’會一直等著,直到該程序被中斷。如果您遇到了這樣的情況,按 ,然后再試。
下面是一些有意思的命令行參數(shù):
grep -i pattern files :不區(qū)分大小寫地搜索。默認情況區(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 的行。
這里還有些用于搜索的特殊符號:
\ 分別標注單詞的開始與結(jié)尾。
例如:
grep man * 會匹配 ‘Batman’、‘manic’、‘man’等,
grep '\grep '\' 只匹配‘man’,而不是‘Batman’或‘manic’等其他的字符串。
'^':指匹配的字符串在行首,
'$':指匹配的字符串在行尾,
如果您不習慣命令行參數(shù),可以試試圖形界面的‘grep’,如 reXgrep 。這個軟件提供 AND、OR、NOT 等語法,還有漂亮的按鈕 :-) 。如果您只是需要更清楚的輸出,不妨試試 fungrep 。
1.列出文件清單命令:ls
ls命令能夠列出當前目錄下的所有內(nèi)容。ls 命令的執(zhí)行方式為:
# ls [-選項] [文件名或者目錄名]
進入到Linux命令行中后,我們至少要知道當前所處的位置有哪些內(nèi)容,這些信息就可以使用ls命令來獲得。
在Linux中,ls命令是最常使用的命令之一,因為在命令行下要隨時查看目錄內(nèi)容。如果不加任何選項的話,ls命令僅列出當前目錄下的文件和目錄名,例如,想要查看/etc目錄下的內(nèi)容,可以使用下列命令:
# ls /etc
如果想要列出當前目錄下所有文件,則可以使用下列命令:
# ls -a
2、cat命令
功能:在標準輸出上顯示文件。
語法:cat [-vTEuAte] 文件
例子: cat example.txt
cat -A exam2.txt
cat file1 file2 file2
3、more命令
功能:在終端屏幕按屏顯示文本文件。
語法: more [-pcdls] 文件
例子: more example.c
more -dc example.c
more -c -10 example.c
4、less命令
less命令的功能幾乎和more命令一樣,也是用來按頁顯示文件,不同之處在于less命令在顯示文件時允許用戶既
可以向前又可以向后翻閱文件。
5、head命令
功能:顯示指定文件的前若干行。缺省設置為顯示10行
語法:head [-n] 文件
例子: head example.c
head -3 example.c
6、tail命令
功能:顯示指定文件的末尾若干行。缺省設置為顯示10行
語法:tail [+ / - num ] [參數(shù)] 文件
+num 從第num行以后開始顯示。- num 從距文件尾num行處開始顯示。
例子: tail example.c
tail -4 example.c
7、grep、fgrep和egrep命令
功能:
這組命令以指定模式搜索文件,并通知用戶在什么文件中搜索到與指定的模式匹配的字符串,并打印出所有包含該字符串的文本行,在該文本行的最前面是該行所在的文件名。grep命令一次只能搜索一個指定的模式;egrep命令檢索擴展的正則表達式(包括表達式組和可選項);fgrep命令檢索固定字符串,它不識別正則表達式,是快速搜索命令。
語法:
grep [-EFbcihlnvxef] [查找模式] [文件名1,文件名2,……]
egrep [選項] [查找模式] [文件名1,文件名2,……]
fgrep [選項] [查找模式] [文件名1,文件名2,……]
例子: grep "text file" example
grep data *
grep goto *.c
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 -------------在當前目錄下創(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)容,默認10行
例:$ tail -n 20 -f zzz.xx -----------查看文件zzz.xx的尾部20行內(nèi)容
7)cp :復制
例:$ cp a.xx b -------將a.xx文件復制到b目錄(文件夾)下
8)scp :拷貝文件
例:$ scp -i zzz.xx root@192.168.1.35:/xxx/xxxx/ -----------------從一臺虛擬機上將文件zzz.xx拷貝到另外一臺35的虛擬機的指定目錄下;
例:$ scp -r zzz root@192.168.1.35:/xxx/xxxx/ -----------------從一臺虛擬機上將文件夾(目錄)zzz拷貝到另外一臺35的虛擬機的指定目錄下
9)chmod :給文件賦權(quán)限
例:$ chmod 777 zzz.xx 給zzz.xx文件增加可執(zhí)行的權(quán)限2、查看端口號的命令 : netstat -antpl
3、查看正在執(zhí)行的進程的命令 : ps -ef
4、強制殺死xxxx該進程的命令 :kill - 9 xxxx
5、配置Java環(huán)境變量的命令:
先執(zhí)行---- vi /etc/profile 配置結(jié)束執(zhí)行------- socrce /etc/profice 然后執(zhí)行-------cat /etc/profile進行查看,用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)絡命令
1)ifconfig :查看用戶網(wǎng)絡配置。它顯示當前網(wǎng)絡設備配置。補充:Windows 用的是 ipconfig
2)ping 將數(shù)據(jù)包發(fā)向用戶指定地址。當包被接收,目標機器發(fā)送返回數(shù)據(jù)包。ping 主要有兩個作用:
用來確認網(wǎng)絡連接是暢通的。
用來查看連接的速度信息。