13.10. 管線(Pipes)與頁面調度(Pagers)

在 Linux 中,管線連接一個指令的標準輸出到另一個指令的標準輸入。

再來看看之前討論過的 ls 指令。 有許多參數 可在其上使用,不過對於一個目錄的內容捲動太快而使您無法看清楚的情況, 該如何呢?

使用以下指令來檢視 /etc/ 目錄的內容。

ls -al /etc

在輸出捲過畫面前,您要如何來看清楚它們呢?

一種方式是 pipe 到一個稱為 less 的工具,它是一種 pager 的工具,它讓您可以一次檢視一頁(或一個畫面)的資訊。

使用垂直線 (|) 來 pipe 指令。

ls -al /etc | less

現在可以一次一個畫面地檢視 /etc 目錄的內容。 要向下捲動畫面,請按 『[空白鍵]』; 如要向上捲動畫面,請按 [B]; 要離開的話,請按 [Q]。 您也可以使用方向鍵來使用 less 瀏覽。

如要在一個文字檔中使用 less 來搜尋關鍵字,請先按下 [/] 然後再輸入您想要搜尋的關鍵字,例如:

/Linux

提示建議
 

如想詳細的閱讀啟動的訊息,可在 shell 提示符號下輸入 dmesg | less。 您將可以以一次一個畫面的方式讀取該檔案。 使用方向鍵來瀏覽該檔案,如要在檔案中搜尋特定的訊息字串,請按下 [/] 然後再輸入搜尋字串。

Pipes 也可使用來印出檔案中的某些行。 請輸入:

grep coffee sneakers.txt | lpr

這個指令將列出在 sneakers.txt 檔案中包含 "coffee" 這個字的所有行 (請在 菴 13.11.3 節 閱讀更多關於 grep 的資訊)。

13.10.1. more 指令

moreless 最主要的不同是 less 讓您使用方向鍵來上下捲動,而 more 使用 『[空白鍵]』 與按鍵 [B] 來做上下捲動。

使用 lsmore 指令來列出 /etc 目錄的內容。

ls -al /etc | more

圖形 13-10. Piping ls 的輸出到 more

如要使用 more 在一個文字檔案中搜尋關鍵字,請先按下 [/] 然後再輸入您想要搜尋的關鍵字,例如:

/foo

使用 『[空白鍵]』 來向下捲動頁面。 欲離開請按下 [q]