天天看點

Linux中的more指令-逐頁顯示長文本檔案

如果你已經習慣了在linux系統上工作,那你一定會發現在linux世界中存在着大量的文本檔案。配置檔案和日志檔案通常都采用文本格式。這些檔案通常都有很長的内容,不能在一屏内全部顯示。是以在處理這種檔案時,我們需要分頁顯示。這時我們可以用上more指令。

Linux中的more指令-逐頁顯示長文本檔案

<a target="_blank"></a>

more是一個用來分頁顯示大文本檔案的指令,它預設是内置在各個linux發行版中的。

使用more指令,隻需要鍵入:

比如,我們想檢查/var/log目錄下的日志檔案syslog,隻需要鍵入:

Linux中的more指令-逐頁顯示長文本檔案

more指令

然後我們可以看到在螢幕左下角有個提示,告訴我們目前的顯示比例為0%。看上去這個檔案相當大,是以第一頁是全部頁數的0%。使用空格鍵可以往下翻頁,然後就可以看到提示的百分比會增加。

Linux中的more指令-逐頁顯示長文本檔案

scroll page

在執行more指令的時候,它會占用你終端視窗的全部空間用于顯示。但是你可以通過參數-數字來限制每頁顯示的行數。

例如,你希望每頁限制顯示12行,可以通過下面的指令:

Linux中的more指令-逐頁顯示長文本檔案

限制每頁顯示12行

現在,你會看到每頁隻顯示12行,在按下空格鍵後,就會翻頁顯示後面的12行。

我們知道,more指令會在顯示區域的左下角提示目前内容所占的百分比。對于第一次使用more指令的人來說,他或她可能會想知道怎麼才能往下翻頁。為了避免這種情況,我們可以在執行時增加-d參數,這樣就會額外顯示一行使用者資訊“[按空格鍵繼續,‘q‘推出.]”

Linux中的more指令-逐頁顯示長文本檔案

more with -d option

如果使用者按了‘空格‘或’q‘之外的按鍵,more會顯示一行幫助資訊“ [按‘h’鍵檢視提示。]”

Linux中的more指令-逐頁顯示長文本檔案

more displaying help message

如果按下h鍵,會顯示一個幫助資訊:

Linux中的more指令-逐頁顯示長文本檔案

display help

一個有意思的指令是b按鈕,b按鈕允許你退回到前面的頁面。換句話說,b按鈕可以允許向前翻頁。

你可以通過左上角的...前1頁資訊來确認目前顯示的是前面的頁面。

Linux中的more指令-逐頁顯示長文本檔案

在more中往前翻頁

通過參數-c,more指令不會滾動頁面,而是直接清除之前的内容,替換為下一頁的内容。 with -c option, more will not scroll the page. it will clear the previous page and put the next page or lines there.

Linux中的more指令-逐頁顯示長文本檔案

suppress scroll

如果按下空格鍵,下一頁會仍然有相同的大小。

Linux中的more指令-逐頁顯示長文本檔案

使用參數-s來忽略多餘的空白行,下面是個例子:

Linux中的more指令-逐頁顯示長文本檔案

多個空白行的檔案

當我們增加參數-s後:

Linux中的more指令-逐頁顯示長文本檔案

忽略了多餘空白行

如果你的日志檔案非常大,那麼在其中查找你想要的字元串并不是那麼容易。more指令的查找功能可以幫你,通過參數+/string可以用來搜尋字元串,找到的關鍵字會顯示在第一行。比如我們要在/var/logs/syslog檔案中搜尋“dhclient”,那more指令的格式:

Linux中的more指令-逐頁顯示長文本檔案

查找字元串

然後,如果要在檔案中繼續搜尋下一個,隻需要按下/按鈕,後面跟有關鍵字dhclient。

你也可以通過參數+數字來指定開始顯示的行,例如,我們有一個15行的檔案:

Linux中的more指令-逐頁顯示長文本檔案

多行檔案

然後我們想從第5行開始顯示這個檔案的内容,指令看起來會是這個樣子:

Linux中的more指令-逐頁顯示長文本檔案

從指定行開始顯示

答案是不行. more指令會提示這樣的資訊,例如:

Linux中的more指令-逐頁顯示長文本檔案

顯示二進制檔案

more是一個用來檢視文本檔案的基礎工具,它不能用來顯示二進制檔案。通常,我們可以通過指令man more或者more --help來擷取更多關于more怎麼使用的資訊。

原文釋出時間為:2014-03-07

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀