less (Unix)
用來檢視文字檔案的命令列工具
less
是UNIX、Microsoft Windows與类Unix系统上的終端機分頁檢視程式,用來一次用整個螢幕顯示的範圍展示(但不能編輯)文本文件的內容。其與more類似,但可以向前或向後瀏覽檔案的延伸功能。與大多數的Unix文字編輯器或檢視程式不同,less在啟動時不會一次讀取整個檔案,如此可以加快大檔案的載入速度。
開發者 | Mark Nudelman |
---|---|
首次发布 | 1984年[1] |
当前版本 | 590(2021年7月10日 | )
预览版本 | 590(2021年6月3日 | )
源代码库 | github |
编程语言 | C |
操作系统 | 跨平臺 |
类型 | 系统软件 |
许可协议 | 雙重授權:GNU GPLv3與自訂的BSD風格授權條款 |
网站 | www www |
歷史
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"