less 命令: 查看文件內容

来源:https://www.cnblogs.com/librarookie/archive/2022/07/20/16499068.html
-Advertisement-
Play Games

less 命令: 查看文件內容 概念 less 與 more 類似,less 可以隨意瀏覽文件,支持翻頁和搜索,支持向上翻頁和向下翻頁。而使用 more 命令瀏覽文件內容時,只能不斷向後翻看。 介紹 用法: less [OPTION]... [FILE]... 常用參數: 常用選項及含義 | Key ...


less 命令: 查看文件內容



概念

less 與 more 類似,less 可以隨意瀏覽文件,支持翻頁和搜索,支持向上翻頁和向下翻頁。而使用 more 命令瀏覽文件內容時,只能不斷向後翻看。


介紹

  • 用法:

    less [OPTION]... [FILE]...

  • 常用參數:

    1. 常用選項及含義

      Key Value
      -N 顯示每行的行號。
      -S 行過長時將超出部分捨棄。
      -e 當文件顯示結束後,自動離開。
      -g 只標誌最後搜索到的關鍵同。
      -Q 不使用警告音。
      -i 忽略搜索時的大小寫。
      -m 顯示類似 more 命令的百分比。
      -f 強迫打開特殊文件,比如外圍設備代號、目錄和二進位文件。
      -s 顯示連續空行為一行。
      -b <緩衝區大小> 設置緩衝區的大小。
      -o [file] 將 less 輸出的內容保存到指定文件中。
      -x [num] 將【Tab】鍵顯示為規定的數字空格。
    2. 交互指令及功能

      Key Value
      /pattern 向下搜索 “pattern” 的功能。
      ?pattern 向上搜索 “pattern” 的功能。
      n 重覆*前一個搜索(與 / 成 ? 有關)。
      N 反向重覆前一個搜索(與 / 或 ? 有關)。
      h | H 顯示幫助界面。
      q | Q | ZZ 退出 less 命令。
      G 移動至 “首行”。
      g 移動至 “尾行”。
      j | e 向下移動一行。
      k | y 向上移動一行。
      d | Ctrl-d 向下移動半頁。
      u | Ctrl-u 向上移動半頁。
      f | Ctrl-f | z 向下移動一頁。
      b | Ctrl-b | w 向上移動一頁。
      v 使用配置的編輯器編輯當前文件。
      F 永遠向前;像 "tail -f"。
      m letter 用 letter 標記當前頂行。
      'letter 轉到一個先前標記 letter 的位置。
      '' 轉到之前的位置。
      ESC-M letter 清除一個標記。

慄子

  1. 查看文件

    less log1.log

    Tips:

    • 可以按大寫 F,就會有類似 tail -f 的效果,讀取寫入文件的最新內容, 按 ctrl+C 停止。
    • 可以按 v 進入編輯模型, shift+ZZ 保存退出到 less 查看模式。
    • 使用參數 N 可以顯示行號;
  2. 分頁顯示“進程信息”或“歷史記錄”

    ps -ef | less
    history | less

  3. 瀏覽多個文件

    less log2.txt log3.txt

    Tips:

    • :n: 切換到 log2.txt
    • :p: 切換到 log3.txt
    • :e log3.txt 打開新文件log3.txt

less 參數大全

UMMARY OF LESS COMMANDS(Less命令的摘要)

標有*的命令可以在前面加上一個數字,N。

括弧中的註釋表示如果給定了N的行為。

前面有一個圓點的鍵表示Ctrl鍵,因此^K是ctrl-K。

h H                   顯示此幫助。
q :q Q :Q ZZ          退出。

MOVING(移動)

e  ^E  j  ^N  CR  *  前進一行(或_N行)。
y  ^Y  k  ^K  ^P  *  後退一行(或_N行)。
f  ^F  ^V  SPACE  *  前進一個視窗(或_N行)。
b  ^B  ESC-v      *  後退一個視窗(或_N行)。
z                 *  向前一個視窗(並將視窗設置為_N)。
w                 *  後退一個視窗(並將視窗設置為_N)。
ESC-SPACE         *  前進一個視窗,但不要停在文件的末端。
d  ^D             *  前進一個半視窗(並將半視窗設置為_N)。
u  ^U             *  後退一個半視窗(並將半視窗設置為_N)。
ESC-)  RightArrow *  向右移動半個屏幕寬度(或_N個位置)。
ESC-(  LeftArrow  *  左半屏寬度(或_N個位置)。
ESC-}  ^RightArrow   向右到最後一列顯示。
ESC-{  ^LeftArrow    向左到第一欄。
F                    永遠向前;像 "tail -f"。
ESC-F                像F一樣,但在找到搜索模式時停止。
r  ^R  ^L            重新繪製屏幕。
R                    重新繪製屏幕,丟棄緩衝輸入。

        ---------------------------------------------------
        預設的 "視窗 "是屏幕的高度。
        預設的 "半窗 "是屏幕高度的一半。

SEARCHING(檢索)

/pattern          *  向前搜索(_N-th)匹配的行。
?pattern          *  向後搜索(第_N次)匹配的行。
n                 *  重覆之前的搜索(第_N次出現)。
N                 *  以相反的方向重覆之前的搜索。
ESC-n             *  重覆先前的搜索,跨越文件。
ESC-N             *  重覆先前的搜索,反方向搜索,並跨越文件。
ESC-u                撤銷(切換)搜索高亮顯示。
ESC-U                清除搜索高亮顯示.
&pattern          *  只顯示匹配行。

        ---------------------------------------------------
        一個搜索模式可以以下列一項或多項開始。
        ^N 或 !  搜索不匹配的行。
        ^E 或 * 搜索多個文件(通過文件末尾)。
        ^F 或 @ 從第一個文件(對於 /)或最後一個文件(對於 ?)開始搜索。
        ^K 突出顯示匹配的文件,但不移動(保留位置)。
        ^R 不使用常規表達式。
        ^W 如果沒有找到匹配,則進行WRAP搜索。

JUMPING(跳轉)

g  <  ESC-<       *  轉到文件的第一行(或第N行)。
G  >  ESC->       *  轉到文件的最後一行(或第N行)。
p  %              *  轉到文件的開頭(或文件的N%)。
t                 *  轉到(N-th)下一個標簽。
T                 *  轉到前一個標簽(N-th)。
{  (  [           *  找出閉合括弧 } ) ].
}  )  ]           *  查找大括弧 { ( [.
ESC-^F <c1> <c2>  *  查找封閉括弧 <c2>.
ESC-^B <c1> <c2>  *  查找開放括弧 <c1>。

        ---------------------------------------------------
        每條 "查找括弧" 命令都會前進到與頂行中(第N個)開放括弧相匹配的括弧處 
            匹配頂行中的(第N個)開放括弧。
        每條 "查找開括弧" 命令都會向後移動到開括弧 
            匹配底行的(第N個)封閉括弧。


m<letter>            用<letter>標記當前頂行。
M<letter>            用<letter>標記當前的底行。
'<letter>            轉到一個先前標記的位置。
''                   轉到之前的位置。
^X^X                 與'相同。
ESC-M<letter>        清除一個標記。

        ---------------------------------------------------
        一個標記是任何大寫或小寫的字母。
        某些標記是預定義的:
            ^ 表示文件的開始
            $ 表示文件的結束

CHANGING FILES(改變文件)

  :e [file]            檢查一個新文件。
  ^X^V                 與 :e 相同。
  :n                *  檢查命令行中的(N-th)下一個文件。
  :p                *  檢查命令行中的前一個(N個)文件。
  :x                *  從命令行中檢查第一個(或第N個)文件。
  :d                   從命令行列表中刪除當前文件。
  =  ^G  :f            列印當前文件名。

MISCELLANEOUS COMMANDS(其他命令)

  -<flag>              切換一個命令行選項[見下麵的 OPTIONS]。
  --<name>             按名稱切換一個命令行選項。
  _<flag>              顯示一個命令行選項的設置。
  __<name>             按名稱顯示一個選項的設置。
  +cmd                 每次檢查一個新文件時,執行 less cmd。

  !command             執行帶有 $SHELL 的 shell命令。
  |Xcommand            在當前位置和 標記X 之間管文件到 shell命令。
  s file               將輸入內容保存到文件中。
  v                    用 $VISUAL 或 $EDITOR 編輯當前文件。
  V                    列印 "less "的版本號。

OPTIONS(選項)

大多數選項可以在命令行上改變。

或者在 less 中使用 - 或 -- 命令來改變。

選項可以以兩種形式之一給出:要麼是以"-"開頭的單個字元,要麼是以"--"開頭的名稱。

  -?  ........  --help
                  顯示幫助(來自命令行)。
  -a  ........  --search-skip-screen
                  搜索跳過當前屏幕。
  -A  ........  --SEARCH-SKIP-SCREEN
                  搜索從目標行後開始。
  -b [N]  ....  --buffers=[N]
                  緩衝區的數量。
  -B  ........  --auto-buffers
                  不要自動為管道分配緩衝區。
  -c  ........  --clear-screen
                  通過清除而不是滾動來重新繪製。
  -d  ........  --dumb
                  啞巴終端。
  -D xcolor  .  --color=xcolor
                  設置屏幕顏色。
  -e  -E  ....  --quit-at-eof  --QUIT-AT-EOF
                  在文件結束時退出。
  -f  ........  --force
                  強制打開非常規文件。
  -F  ........  --quit-if-one-screen
                  如果整個文件適合在第一屏幕上顯示,則退出。
  -g  ........  --hilite-search
                  只突出最後一個匹配的搜索。
  -G  ........  --HILITE-SEARCH
                  不突出顯示任何匹配的搜索。
  -h [N]  ....  --max-back-scroll=[N]
                  向後滾動的限制。
  -i  ........  --ignore-case
                  在不包含大寫字母的搜索中忽略大小寫。
  -I  ........  --IGNORE-CASE
                  忽略所有搜索中的大小寫。
  -j [N]  ....  --jump-target=[N]
                  目標行的屏幕位置。
  -J  ........  --status-column
                  在屏幕的左邊緣顯示狀態欄。
  -k [file]  .  --lesskey-file=[file]
                  使用一個lesskey文件。
  -K  ........  --quit-on-intr
                  響應ctrl-C,退出less。
  -L  ........  --no-lessopen
                  忽略 LESSOPEN 環境變數。
  -m  -M  ....  --long-prompt  --LONG-PROMPT
                  設置提示樣式。
  -n  -N  ....  --line-numbers  --LINE-NUMBERS
                  不使用行數。
  -o [file]  .  --log-file=[file]
                  拷貝到日誌文件(僅標準輸入)。
  -O [file]  .  --LOG-FILE=[file]
                  拷貝到日誌文件(無條件覆蓋)。
  -p [pattern]  --pattern=[pattern]
                  從模式開始(來自命令行)。
  -P [prompt]   --prompt=[prompt]
                  定義新的提示。
  -q  -Q  ....  --quiet  --QUIET  --silent --SILENT
                  讓終端的鈴聲安靜下來。
  -r  -R  ....  --raw-control-chars  --RAW-CONTROL-CHARS
                  輸出 "原始 "控制字元。
  -s  ........  --squeeze-blank-lines
                  擠掉多個空行。
  -S  ........  --chop-long-lines
                  切斷(截斷)長行,而不是包裹。
  -t [tag]  ..  --tag=[tag]
                  找到一個標簽。
  -T [tagsfile] --tag-file=[tagsfile]
                  使用一個備用的標簽文件。
  -u  -U  ....  --underline-special  --UNDERLINE-SPECIAL
                  改變對尾碼的處理。
  -V  ........  --version
                  顯示 "less "的版本號。
  -w  ........  --hilite-unread
                  突出顯示轉屏後的第一個新行。
  -W  ........  --HILITE-UNREAD
                  突出顯示任何前移後的第一個新行。
  -x [N[,...]]  --tabs=[N[,...]]
                  設置製表符的位置。
  -X  ........  --no-init
                  不使用 termcap init/deinit 字元串。
  -y [N]  ....  --max-forw-scroll=[N]
                  向前滾動的限制。
  -z [N]  ....  --window=[N]
                  設置視窗的大小。
  -" [c[c]]  .  --quotes=[c[c]]
                  設置外殼引號字元。
  -~  ........  --tilde
                  不在文件結尾處顯示蒂爾德。
  -# [N]  ....  --shift=[N]
                  設置水平滾動量(0=二分之一屏幕寬度)。
                --file-size
                  自動確定輸入文件的大小。
                --follow-name
                  如果輸入文件被重新命名,F命令會改變文件。
                --incsearch
                  在輸入每個模式字元時搜索文件。
                --line-num-width=N
                  將-N行號欄位的寬度設置為N個字元。
                --mouse
                  啟用滑鼠輸入。
                --no-keypad
                  不發送termcap鍵盤初始/退出字元串。
                --no-histdups
                  從命令歷史中刪除重覆的命令。
                --rscroll=C
                  設置用於標記截斷行的字元。
                --save-marks
                  在調用less的過程中保留標記。
                --status-col-width=N
                  將-J狀態欄的寬度設置為N個字元。
                --use-backslash
                  後面的選項使用反斜杠作為轉義符。
                --use-color
                  啟用彩色文本。
                --wheel-lines=N
                  每點擊一次滑鼠滾輪,就會移動N行。

LINE EDITING(行編輯)

這些鍵可以用來編輯正在輸入的文本

在屏幕底部的 "命令行 "上編輯文本。

 RightArrow ..................... ESC-l ... 將游標向右移動一個字元。
 LeftArrow ...................... ESC-h ... 將游標向左移動一個字元。
 ctrl-RightArrow  ESC-RightArrow  ESC-w ... 將游標向右移動一個字。
 ctrl-LeftArrow   ESC-LeftArrow   ESC-b ... 將游標向左移動一個字。
 HOME ........................... ESC-0 ... 將游標移至行首。
 END ............................ ESC-$ ... 將游標移至行尾。
 BACKSPACE ................................ 刪除游標左邊的字元。
 DELETE ......................... ESC-x ... 刪除游標下的字元。
 ctrl-BACKSPACE   ESC-BACKSPACE ........... 刪除游標左側的單詞。
 ctrl-DELETE .... ESC-DELETE .... ESC-X ... 刪除游標下方的字。
 ctrl-U ......... ESC (MS-DOS only) ....... 刪除整行。
 UpArrow ........................ ESC-k ... 檢索前一個命令行。
 DownArrow ...................... ESC-j ... 檢索下一個命令行。
 TAB ...................................... 完成文件名和迴圈。
 SHIFT-TAB ...................... ESC-TAB   完成文件名和反向迴圈。
 ctrl-L ................................... 完成文件名,列出所有文件。



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Python3的列表推導式、字典推導式、集合推導式和元組推導式,以及相應習題 ...
  • 1 MySQL總體架構介紹 1.1 MySQL總體架構介紹 引言 MySQL是一個關係型資料庫 應用十分廣泛 在學習任何一門知識之前 對其架構有一個概括性的瞭解是非常重要的 比如索引、sql是在哪個地方執行的 流程是什麼樣的 今天我們就先來學習一下MySQL的總體架構 總的來說:MySQL架構是一個 ...
  • 天坑 遇到的問題:使用命令行執行命令:java EightSample,會報以下錯誤 錯誤: 找不到或無法載入主類 EightSample 運行環境 mac系統 IntelliJ IDEA編譯器 Java 1.8 首先保證了Java環境變數和版本都是沒問題的 然後保證已經執行了以下命令,生成了.cl ...
  • 背景 工作需要配置多個環境,用於 開發Development、預覽Staging、生產Production。 參考文獻: 微軟官方文檔-配置 開始 .NetCore對多環境有很好的支持,預設會讀取appsettings.{Environment}.json。 例如,appsettings.Produ ...
  • 一般情況下,在Word中添加文字水印僅支持添加一個文本字樣的水印,但在複雜的辦公環境中,由於對不同文檔的設計要求,需要在Word文檔中添加平鋪水印效果,即文檔中的水印文字以多行多列分佈的形式存在。本文將介紹如何來實現該水印效果的方法,下麵是詳細步驟及方法。 dll引用 通過 NuGet 引入dll( ...
  • 一:背景 寫這一篇的目的主要是因為.NET領域內幾本關於闡述GC方面的書,都是純理論,所以懂得人自然懂,不懂得人也沒法親自驗證,這一篇我就用 windbg + 源碼 讓大家眼見為實。 二:為什麼要引入後臺GC 1. 後臺GC到底解決了什麼問題 解決什麼問題得先說有什麼問題,我們知道 阻塞版GC 有一 ...
  • 背景 在生產過程中,由於磁碟空間、保留周期等因素,會對系統、應用等日誌提出要求,要求系統日誌定期進行輪轉、壓縮和刪除,從而減少開銷,而系統自帶的logrotate 則是一個簡單又實用的小工具,下麵著重介紹一下,滿足日常需求。 語法 Usage: logrotate [OPTION...] <conf ...
  • Linux 的基本操作 -許可權 許可權: 文件的屬性: d:表示目錄-:表示文件 l:連接文件 b:設備文件,提供存儲的介面設備 c:設備文件,提供串列的介面設備--鍵盤,滑鼠 r:可讀,查看目錄下有哪些文件或文件夾,查看文件內容 w :可寫,在目錄中新普文件夾/文件 修改/刪除文件a/文件內容移動文 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...