less (Unix)
外观
Xterm中的 less輸出 | |
| 開發者 | Mark Nudelman |
|---|---|
| 首次发布 | 1984年[1] |
| 当前版本 | 590(2021年7月10日) |
| 预览版本 | 590(2021年6月3日) |
| 源代码库 | github |
| 编程语言 | C |
| 操作系统 | 跨平臺 |
| 类型 | 系统软件 |
| 许可协议 | 雙重授權:GNU GPLv3與自訂的BSD風格授權條款 |
| 网站 | www www |
less是UNIX、Microsoft Windows與类Unix系统上的終端機分頁檢視程式,用來一次用整個螢幕顯示的範圍展示(但不能編輯)文本文件的內容。其與more類似,但可以向前或向後瀏覽檔案的延伸功能。與大多數的Unix文字編輯器或檢視程式不同,less在啟動時不會一次讀取整個檔案,如此可以加快大檔案的載入速度。
歷史
[编辑]Mark Nudelman最初在1983至1985年間編寫了less,當時是因為需要可以向後捲動顯示文字的more。原本less是為Unix開發的,但是其已被移植到其他許多作業系統,其中包含了MS-DOS、Microsoft Windows、OS/2與OS-9,以及如Linux等的类Unix系统[2]。Nudelman至今仍在維護它。
為了協助記住less與more的不同,有個常見的笑話是"less > more",代表了less的功能比more更多。類似的說法是"less is more, more or less"(「少即是多,或多或少」)。
用法
[编辑]可以傳遞選項給less以改變其行為,例如要在螢幕上顯示的行數。部份選項可能會因作業系統而異。在less顯示檔案時,也可以使用多種指令來瀏覽檔案。這些指令是以more與vi使用的指令為基礎。並可在檔案中搜尋符合的字元模式。
預設情況下,less會將檔案內容顯示到標準輸出(一次顯示一個螢幕的範圍)。如果省略檔案名稱參數,則其會顯示來自標準輸入的內容(通常是另一個指令透過管道的輸出)。如果輸入被重新導向到終端機以外的任何東西,例如另一個指令的管道,則此時less的行為會類似於cat。
指令句法為:
less [選項] [檔案名稱]
常用選項
[编辑]-g:僅突顯任何搜尋字串的目前符合項目。-i:搜尋時不區分大小寫。-m:顯示更詳細的提示資訊,包含檔案位置。-N:顯示行號(檢視源代码時較有用)。-x3:將定位停駐點(每個定位字元的欄數)設定為指定的數字(在此例中為3,檢視源代码時較有用)。-S:停用過長行的換行。較長的行可用橫向捲動來檢視。-X:結束less時,將檔案內容保留在螢幕上。-?:顯示說明。--follow-name:跟隨模式,用來檢視輸出中的紀錄檔。
常用指令
[编辑]| 按鍵 | 指令 |
|---|---|
| Space bar | 下一頁 |
| d | 下半頁 |
| b | 前一頁 |
| u | 前半頁 |
| v | 編輯內容 |
| j 或 ↵ Enter | 下ㄧ行 |
| k | 前ㄧ行 |
| Home | 檔案頂部 |
| End | 檔案結尾 |
| F | 跟隨模式(供紀錄檔使用)。Follow Mode (for logs). Interrupt to abort. |
| g 或 < | 第一行 |
| G 或 > | 最後ㄧ行 |
⟨n⟩G
|
跳到第⟨n⟩行
|
/⟨text⟩
|
向前搜尋⟨text⟩。文字會被視為正则表达式。
|
?⟨text⟩
|
如同/,但為向後搜尋。 |
| n | 下一個符合的搜尋結果 |
| N | 上一個符合的搜尋結果 |
| Escu | 關閉符合突顯(請見-g命令列選項)
|
-⟨c⟩
|
切換選項⟨c⟩,例如-i會切換是否要在搜尋時忽略大小寫
|
m⟨c⟩
|
設定標記⟨c⟩
|
'⟨c⟩
|
跳到標記⟨c⟩
|
| = 或 Ctrl+G | 檔案資訊 |
| :n | 下一個檔案 |
| :p | 上一個檔案 |
| h | 說明。這會使用less顯示,q離開。
|
| q | 離開 |
範例
[编辑]less -M readme.txt # 讀取 "readme.txt"
less +F /var/log/mail.log # 供紀錄檔使用的跟隨模式
file * | less # 簡易檔案分析
less -I -g void *.c # 在所有 .c 檔案不區分大小寫搜尋"void"