通過之前所說的搜索命令,我們可以輕松的定位到所需文件的位置,結(jié)合重定向,我們可以查看文件的內(nèi)容,那么接下來,就該定位文件內(nèi)容中我們需要的部分了(其實有了重定向,我們能夠查找、過濾的內(nèi)容就不限于文件的內(nèi)容了,應(yīng)該是針對某個流內(nèi)容的查看),起碼,操作之前我們可以先查看一下要處理的內(nèi)容
查看文件內(nèi)容,或者說,查看標(biāo)準(zhǔn)輸入的內(nèi)容:cat
之前提到過,cat是連接到一個文件,并把文件的內(nèi)容輸出輸出屏幕,如果不指定文件,那么cat會等待鍵盤的輸入。
cat [文件名 …],cat可以同時打開多個文件并將內(nèi)容拼接在一起展示
示例:有兩個文本文件,內(nèi)容分別如下

現(xiàn)在使用cat同時打開他們

*注意命令里的通配符,他總會以順序的方式去匹配
cat有一個缺點就是,他會一次加載所有的內(nèi)容,而且不能分頁查看,所以cat就適合查看那些比較簡短的內(nèi)容,查看大量內(nèi)容用cat并不方便。
less和more
沒錯,這是兩個命令,都是用來查看內(nèi)容的命令,他們用起來更像是電子書查看器,用法和cat類似。可以簡單的理解為less是more的增強版,more會一次加載所有內(nèi)容,支持向后分頁查看;less不會一次加載所有內(nèi)容,只會加載當(dāng)前查看頁面的內(nèi)容,并且支持前后分頁查看。
head和tail
雖然less和more提供的分頁查看已經(jīng)能夠足夠方便了,但是為了方便,還有其他的途徑
查看文件開始的部分:head
就如同命令本身含義一樣,“頭”,查看開始的一部分,默認(rèn)會打印前世行的內(nèi)容,如果指定了多個文件,那么會依次打印每個文件的頭內(nèi)容。
示例:head someText*

查看文件結(jié)尾的部分:tail
與head相對,tail會默認(rèn)打印最后十行的內(nèi)容,但是tail有一個選項可以讓我們持續(xù)的觀察某個文件的變化,這在我們觀察日志文件的時候非常有用
示例:tail -f logfile
鍵入該命令,logfile文件的內(nèi)容會保持在屏幕上,最新的內(nèi)容也會不斷出現(xiàn)在屏幕上,這個過程會一直持續(xù)到你按下Ctrl+C為止。
好了,常用的內(nèi)容查看命令交代好了,下面就需要對內(nèi)容進行簡單的處理
通過管道線,我們可以將一個命令的標(biāo)準(zhǔn)輸出可以輸送到另一個命令的標(biāo)準(zhǔn)輸入,接下來,我們通過管道線,將多個命令組合在一起,變成一個過濾器,來獲取我們所需的內(nèi)容。
查看內(nèi)容的概要:wc
這個命令比較好記,嗯…wc可以幫助我們查看一個內(nèi)容的行數(shù),字?jǐn)?shù),和字節(jié)數(shù)
示例:wc someText*

多個文件的情況下會添加一個統(tǒng)計信息
查看內(nèi)容的概要:sort
sort命令會排序指定標(biāo)準(zhǔn)輸入的內(nèi)容,默認(rèn)會按照字母升序的順序來排列內(nèi)容,我們查看一下/bin目錄下的命令,然后把他們排序輸出

查看/過濾重復(fù)的內(nèi)容:uniq
他是unique的縮寫,通常,我們組合起來使用
示例:ls /bin /usr/bin|sort|uniq -d|less,我們可以查看一下那些命令是兩個目錄下共有的

看起來共有的命令還不少
打印匹配的文本:最酷grep
默認(rèn)情況下,grep會打印包含給定信息的行
示例:ls /bin|grep app

常用選項,“-i”:忽略大小寫,“-v”:查詢不匹配的行,“-x”:只查詢完全匹配的行
上面的這些命令單獨使用的機會很少,組合在一起成為一個內(nèi)容過濾器更有意義,就像這樣
ls /bin|sort|uniq|grep zip

至此,我相信你對內(nèi)容的處理已經(jīng)有了一個大概的認(rèn)識,尤其是這些常用命令