Linux more命令:逐頁(yè)顯示長(zhǎng)文本文件
如果你已經(jīng)習(xí)慣了在Linux系統(tǒng)上工作,那你一定會(huì)發(fā)現(xiàn)在Linux世界中存在著大量的文本文件。配置文件和日志文件通常都采用文本格式。這些文件通常都有很長(zhǎng)的內(nèi)容,不能在一屏內(nèi)全部顯示。所以在處理這種文件時(shí),我們需要分頁(yè)顯示。這時(shí)我們可以用上more命令。
more是干嘛的
more是一個(gè)用來(lái)分頁(yè)顯示大文本文件的命令,它默認(rèn)是內(nèi)置在各個(gè)Linux發(fā)行版中的。
怎么用more
使用more命令,只需要鍵入:
$ more file_name
比如,我們想檢查/var/log目錄下的日志文件syslog,只需要鍵入:
$ more /var/log/syslog
然后我們可以看到在屏幕左下角有個(gè)提示,告訴我們當(dāng)前的顯示比例為0%。看上去這個(gè)文件相當(dāng)大,所以***頁(yè)是全部頁(yè)數(shù)的0%。使用空格鍵可以往下翻頁(yè),然后就可以看到提示的百分比會(huì)增加。
限制每頁(yè)顯示的行數(shù)
在執(zhí)行more命令的時(shí)候,它會(huì)占用你終端窗口的全部空間用于顯示。但是你可以通過(guò)參數(shù)-數(shù)字來(lái)限制每頁(yè)顯示的行數(shù)。
例如,你希望每頁(yè)限制顯示12行,可以通過(guò)下面的命令:
$ more -12 /var/log/syslog
現(xiàn)在,你會(huì)看到每頁(yè)只顯示12行,在按下空格鍵后,就會(huì)翻頁(yè)顯示后面的12行。
Display user message
我們知道,more命令會(huì)在顯示區(qū)域的左下角提示當(dāng)前內(nèi)容所占的百分比。對(duì)于***次使用more命令的人來(lái)說(shuō),他或她可能會(huì)想知道怎么才能往下翻頁(yè)。為了避免這種情況,我們可以在執(zhí)行時(shí)增加-d參數(shù),這樣就會(huì)額外顯示一行用戶(hù)信息“[按空格鍵繼續(xù),‘q‘推出.]”
如果用戶(hù)按了‘空格‘或’q‘之外的按鍵,more會(huì)顯示一行幫助信息“ [按‘h’鍵查看提示。]”
如果按下h鍵,會(huì)顯示一個(gè)幫助信息:
一個(gè)有意思的指令是b按鈕,b按鈕允許你退回到前面的頁(yè)面。換句話(huà)說(shuō),b按鈕可以允許向前翻頁(yè)。
你可以通過(guò)左上角的...前1頁(yè)信息來(lái)確認(rèn)當(dāng)前顯示的是前面的頁(yè)面。
禁止?jié)L動(dòng)
通過(guò)參數(shù)-c,more命令不會(huì)滾動(dòng)頁(yè)面,而是直接清除之前的內(nèi)容,替換為下一頁(yè)的內(nèi)容。 With -c option, more will not scroll the page. It will clear the previous page and put the next page or lines there.
$ more -10 -c lynis.log
如果按下空格鍵,下一頁(yè)會(huì)仍然有相同的大小。
忽略多余的空白行
使用參數(shù)-s來(lái)忽略多余的空白行,下面是個(gè)例子:
當(dāng)我們?cè)黾訁?shù)-s后:
$ more -s doc_30.txt
查找字符串
如果你的日志文件非常大,那么在其中查找你想要的字符串并不是那么容易。more命令的查找功能可以幫你,通過(guò)參數(shù)+/string可以用來(lái)搜索字符串,找到的關(guān)鍵字會(huì)顯示在***行。比如我們要在/var/logs/syslog文件中搜索“dhclient”,那more命令的格式:
$ more +/dhclient /var/log/syslog
然后,如果要在文件中繼續(xù)搜索下一個(gè),只需要按下/按鈕,后面跟有關(guān)鍵字dhclient。
從指定行開(kāi)始顯示
你也可以通過(guò)參數(shù)+數(shù)字來(lái)指定開(kāi)始顯示的行,例如,我們有一個(gè)15行的文件:
然后我們想從第5行開(kāi)始顯示這個(gè)文件的內(nèi)容,命令看起來(lái)會(huì)是這個(gè)樣子:
$ more +5 doc_30.txt
可以顯示二進(jìn)制文件嗎?
答案是不行. more命令會(huì)提示這樣的信息,例如:
結(jié)論
more是一個(gè)用來(lái)查看文本文件的基礎(chǔ)工具,它不能用來(lái)顯示二進(jìn)制文件。通常,我們可以通過(guò)命令man more或者more --help來(lái)獲取更多關(guān)于more怎么使用的信息。