UNIX 常用指令 - less
- 分類:
- 字數: x 3雞數:計算文長的常見計量單位,一般而言數字大小與文章長度呈正相關
這裡討論的內容以 FreeBSD 為主,可能會與 linux 系的不同。
在 FreeBSD 上,如果我們想看一份文件檔的內容,而且又不想要殺雞用牛刀的用文字編輯器(如:vim)來看的話, 那麼 cat 指令就是一個不錯的選擇.....嗎?不是,或者說很多情況不是。
理由很簡單,因為這篇文章的標題不是「FreeBSD 常用指令 - cat」......喔!不是,是因為一般來說, 文件檔的內容常常都會超過一個畫面的大小,除非你是「神之眼」,不然前面的內容「咻~」一下就過了, 誰看得清楚?所以就這個例子來說,我們通常會改用 more 或是 less 來取代 cat。
more 和 less 就功能而言,其實和 cat 很像,一樣是將文件的內容輸出到螢幕上。 不過不像 cat 會一次性的把所有內容都丟到螢幕上,而是顯示完一整個畫面的內容就停住, 然後讓你可以透過方向鍵上下捲動來查看剩餘的內容。
比如說假如有一個檔案叫做「小雞的美食清單」,裡面內容很多,沒辦法用一個畫面顯示,這時我們就可以這樣下指令:
>>> less 小雞的美食清單
這樣一來,畫面就會停在文件的最開頭,然後等看到畫面的內容看完了, 再依使用者的要求捲動頁面(使用方向鍵上下或用 s 和 j 上下)。
若想離開這個狀態,只要再按下 q 即可來離開。
至於 less 和 more 的差別是什麼呢?誰管他? 這些指令是拿來用的,不是來背歷史的。只要記得一件事:
「less is more than more」
這句話的意思大致是說 less 有的功能比 more 還多, 所以說 less 可以說是 more 的進階版,所以用 less 就對了。
Note
實際上因為沒道理把兩種版本卻功能一樣的指令留下來, 所以很多作業系統的 less 和 more 其實是同一個的檔案(如:FreeBSD)。
>>> diff /usr/bin/less /usr/bin/more
不信的話,可以用上面的指令試試看,就可以發現是兩個指令是一樣的內容(FreeBSD)。
老樣子,下面是常用的功能列表:
按鍵 | 功能說明 |
g | 回到文件最頂端 |
G | 來到文件最底端 |
/ | 往下搜尋關鍵字 |
? | 往上搜尋關鍵字 |
: | 尋找某一行 |
由於 less 的指令是來自 more 和 vi,所以熟悉 vi 的使用者,想必會對這些指令親切感才是。