到現在為止,我們對Linux的基本命令就學的差不多了,掌握了這些知識,遇到問題去查資料,去學習其他沒學過的命令,都能夠看得懂,不會有什麼障礙。
或者遇到沒見過的命令,直接用man去查看說明書,把它的option大概的看一看,了解這個命令的每一個option大概是什麼作用就行,不用去記。
現在我們再稍微的複習一下grep和pipe命令。這兩個命令,我們之前的章節也都簡單的介紹過或者提過。
●grep
如果要在一個文件裡面去搜索某些文本或者說字符串(文本其實就是字符串),就可以使用grep命令,grep命令中還可以使用正則表達式來描述要搜索的字符串具有什麼規律。
這個命令上節介紹過,詳情知識可以去看第184課,這裡再不贅述。
比如我現在要在A start in life.txt這個文件中去尋找start這個字符串,就可以用命令:
grep start A\ start\ in\ Life.txt
運行結果如下圖:
我們看到A start in life.txt這個文件中帶start這個字符串的部分都用紅色顯示了出來。
在這個命令中,start可以不帶引號,也可以帶引號,因為正則表達式本身就是一個字符串。不過為了不出問題,最好統一都帶上引號。
如果要尋找忽略大小寫的start,可以在start前面加上-i。當然,如果忽略大小寫了,start隨便你怎麼寫了,比如你寫成sTaRt都可以。
我們使用grep -i sTaRt A\ start\ in\ Life.txt這個命令看看運行結果:
我們看到所有大小寫形式的start都能被搜出來。
如果搜索出來的結果比較多,屏幕上顯示不下,咱們可以按shift+PgUp/PgDn來上下翻頁。
關於grep的其他option,可以用man grep去自己查看。
●|
在鍵盤上按shift+\這兩個鍵,就能打出來一個豎線,這個豎線|就是pipe(pipe就是管道的意思)。
有的電腦上可能是一個豎線,有的電腦上可能是兩個豎線,這個沒什麼影響。
關於這個pipe我們之前也用過。
如果我們要用man |去查看|的說明,發現什麼也沒有顯示,
這個|用man是不能查看的,大家知道就行,另外記住,如果你用man查看|之後,退出的時候按ctrl+c就能退出。一般要終止一些程序的時候,按ctrl+c也可以退出。
|的作用,就是可以把一個命令的結果輸入到另外一個命令中去。
>和|的區別:
之前學習的大於號>也是一個pipe,>這個pipe是把一個命令的結果先不顯示在shell屏幕上,而是導入到另一個文件中去。
而 | 這個pipe,是把一個命令的結果導入到另一個命令中去。
比如我們忽略大小寫在A start in life.txt這個文件中去搜索life這個字符串,使用命令:grep -i "life" A\ start\ in\ Life.txt |less
就是把grep -i "life" A\ start\ in\ Life.txt這個命令的結果導入到less這個命令中去,less就是顯示少量的結果。
我們也可以通過這種形式:
command A | command B | command C.
把命令A的結果導入命令B,然後把命令B的結果導入命令C,這樣不斷導入下去,實現一些更複雜的操作。