1. 程式人生 > 其它 >一天一個 Linux 命令(16):less 命令

一天一個 Linux 命令(16):less 命令

一、簡介

less 與 more 類似,對檔案或其它輸出進行分頁顯示less,可以隨意瀏覽檔案內容,支援翻頁和搜尋,支援向上翻頁和向下翻頁。

二、格式說明

less [options] file
less [引數] 檔案 

三、選項說明

  -?  ........  --help
                  Display help (from command line).
  -a  ........  --search-skip-screen
                  Search skips current screen.
  -A  ........  --SEARCH-SKIP-SCREEN
                  Search starts just after target line.
  -b [N]  ....  --buffers=[N]
                  Number of buffers.
  -B  ........  --auto-buffers
                  Don't automatically allocate buffers for pipes.
  -c  -C  ....  --clear-screen --CLEAR-SCREEN
                  Repaint by clearing rather than scrolling.
  -d  ........  --dumb
                  Dumb terminal.
  -D [xn.n]  .  --color=xn.n
                  Set screen colors. (MS-DOS only)
  -e  -E  ....  --quit-at-eof  --QUIT-AT-EOF
                  Quit at end of file.
  -f  ........  --force
                  Force open non-regular files.
  -F  ........  --quit-if-one-screen
                  Quit if entire file fits on first screen.
  -g  ........  --hilite-search
                  Highlight only last match for searches.
  -G  ........  --HILITE-SEARCH
                  Don't highlight any matches for searches.
  --old-bot
                  Revert to the old bottom of screen behavior.
  -h [N]  ....  --max-back-scroll=[N]
                  Backward scroll limit.
  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.
  -j [N]  ....  --jump-target=[N]
                  Screen position of target lines.
  -J  ........  --status-column
                  Display a status column at left edge of screen.
  -k [file]  .  --lesskey-file=[file]
                  Use a lesskey file.
  -K            --quit-on-intr
                  Exit less in response to ctrl-C.
  -L  ........  --no-lessopen
                  Ignore the LESSOPEN environment variable.
  -m  -M  ....  --long-prompt  --LONG-PROMPT
                  Set prompt style.
  -n  ........  --line-numbers
                  Don't use line numbers.
  -N  ........  --LINE-NUMBERS
                  Use line numbers.
  -o [file]  .  --log-file=[file]
                  Copy to log file (standard input only).
  -O [file]  .  --LOG-FILE=[file]
                  Copy to log file (unconditionally overwrite).
  -p [pattern]  --pattern=[pattern]
                  Start at pattern (from command line).
  -P [prompt]   --prompt=[prompt]
                  Define new prompt.
  -q  -Q  ....  --quiet  --QUIET  --silent --SILENT
                  Quiet the terminal bell.
  -r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                  Output "raw" control characters.
  -s  ........  --squeeze-blank-lines
                  Squeeze multiple blank lines.
  -S  ........  --chop-long-lines
                  Chop (truncate) long lines rather than wrapping.
  -t [tag]  ..  --tag=[tag]
                  Find a tag.
  -T [tagsfile] --tag-file=[tagsfile]
                  Use an alternate tags file.
  -u  -U  ....  --underline-special  --UNDERLINE-SPECIAL
                  Change handling of backspaces.
  -V  ........  --version
                  Display the version number of "less".
  -w  ........  --hilite-unread
                  Highlight first new line after forward-screen.
  -W  ........  --HILITE-UNREAD
                  Highlight first new line after any forward movement.
  -x [N[,...]]  --tabs=[N[,...]]
                  Set tab stops.
  -X  ........  --no-init
                  Don't use termcap init/deinit strings.
  -y [N]  ....  --max-forw-scroll=[N]
                  Forward scroll limit.
  -z [N]  ....  --window=[N]
                  Set size of window.
  -" [c[c]]  .  --quotes=[c[c]]
                  Set shell quote characters.
  -~  ........  --tilde
                  Don't display tildes after end of file.
  -# [N]  ....  --shift=[N]
                  Horizontal scroll amount (0 = one half screen width)
      ........  --no-keypad
                  Don't send termcap keypad init/deinit strings.
      ........  --follow-name
                  The F command changes files if the input file is renamed.
      ........  --use-backslash
                  Subsequent options use backslash as escape char.
                  
-a 跳過當前螢幕搜尋
-A 在目標線之後開始搜尋。
-b <緩衝區大小> 設定緩衝區的大小
-e 當檔案顯示結束後,自動離開
-f 強迫開啟特殊檔案,例如外圍裝置代號、目錄和二進位制檔案
-g 只標誌最後搜尋的關鍵詞
-i 忽略搜尋時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <檔名> 將less 輸出的內容在指定檔案中儲存起來
-Q 不使用警告音
-s 顯示連續空行為一行
-S 行過長時間將超出部分捨棄
-x <數字> 將"tab"鍵顯示為規定的數字空格
/字串:向下搜尋"字串"的功能
?字串:向上搜尋"字串"的功能
n:重複前一個搜尋(與 / 或 ? 有關)
N:反向重複前一個搜尋(與 / 或 ? 有關)
b 向上翻一頁
d 向後翻半頁
h 顯示幫助介面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一頁
回車鍵 滾動一行
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁

四、命令功能

less 與 more 類似,但使用 less 可以隨意瀏覽檔案,而 more 僅能向下移動,卻不能向上移動,而且 less 在檢視之前不會載入整個檔案。

五、常見用法

1.檢視檔案

less /var/log/messages

2.檢視檔案顯示行號

less -N /var/log/messages

3.瀏覽多個檔案

less test1.txt test2.txt

4.ps檢視程序資訊並通過less分頁顯示

ps -ef | less

5.檢視命令歷史使用記錄並通過less分頁顯示

history | less

6.跳過當前頁面進行搜尋

less -N -a /var/log/messages

六、快捷命令

1.全屏導航

  • ctrl + F - 向前移動一屏
  • ctrl + B - 向後移動一屏
  • ctrl + D - 向前移動半屏
  • ctrl + U - 向後移動半屏

2.單行導航

  • j - 下一行
  • k - 上一行

3.其它導航

  • G - 移動到最後一行
  • g - 移動到第一行
  • q / ZZ - 退出 less 命令

4.其它有用的命令

  • v - 使用配置的編輯器編輯當前檔案
  • h - 顯示 less 的幫助文件
  • &pattern - 僅顯示匹配模式的行,而不是整個檔案

5.標記導航

當使用 less 檢視大檔案時,可以在任何一個位置作標記,可以通過命令導航到標有特定標記的文字位置:

  • ma - 使用 a 標記文字的當前位置
  • 'a - 導航到標記 a 處