楔子:作爲一名經常開車的老司機,查看日誌文件是一種家常便飯。Linux more 命令就是這樣一道非常下飯的菜,學會用它查看日誌文件,也許會讓很多問題及時被發現和定位。
Linux more 命令
Linux more 命令,顧名思義就是顯示更多。類似 cat,不過會以一頁一頁的形式顯示,更方便逐頁閱讀。
more 和 less 的區別:
- less 不必讀整個文件,所以加載速度會比 more 更快
- less 可以按鍵盤上下方向鍵顯示上下內容,而 more 不能通過上下方向鍵控制顯示
- less 退出後 shell 不會留下剛顯示的內容,而 more 退出後會在 shell 上留下剛顯示的內容
語法格式
more [-選參] [-num] [+/pattern] [+linenum] [fileNames..]
選參說明
可選參數 | 含義 |
---|---|
-f | 計算行數時,以實際的行數,而不是自動換行過後的行數。 |
-p | 不以捲動的方式顯示每一頁,而是先清除屏幕後再顯示內容。 |
-c | 跟 -p 選項相似,不同的是先顯示內容再清除其他舊資料。 |
-s | 當遇到有連續兩行以上的空白行時,就替換爲一行的空白行。 |
-u | 不顯示下引號(根據環境變量 TERM 指定的終端而有所不同)。 |
+n | 從第 n 行開始顯示文件內容,n 代表數字。 |
-n | 一次顯示的行數,n 代表數字。 |
交互指令
下面的命令可以在 more 命令使用過程中按照指令模式鍵入使用,此時 more 命令的執行會打開一個交互界面。
交互指令 | 功能 |
---|---|
h 或 ? | 顯示 more 命令交互命令幫助。 |
q 或 Q | 退出 more。 |
v | 在當前行啓動一個編輯器。 |
:f | 顯示當前文件的文件名和行號。 |
!<命令> 或 :!<命令> | 在子Shell中執行指定命令。 |
回車鍵 | 向下移動一行。 |
空格鍵 | 向下移動一頁。 |
Ctrl+l | 刷新屏幕。 |
= | 顯示當前行的行號。 |
' | 轉到上一次搜索開始的地方。 |
Ctrf+f | 向下滾動一頁。 |
. | 重複上次輸入的命令。 |
/ 字符串 | 搜索指定的字符串。 |
d | 向下移動半頁。 |
b | 向上移動一頁。 |
參考示例
01)顯示文件中從第 N 行起的內容
more +100 dubbo-log.20190929
02)從文件中查找第一個出現指定字符串的行,並從查找結果中跳過開始兩行,即從第二行開始輸出顯示
more +2/Exception dubbo-log.20190929
03)設定每屏顯示行數
more -10 dubbo-log.20190929
04)查找指定字符串內容首次出次日誌,並設定每屏顯示行數
more -10 +/Exception dubbo-log.20190929
05)列一個目錄下的文件,由於內容太多,和管道 | 結合起來
ls -l | more -10
06)查詢指定內容,設定每 N 行顯示一屏,同時清除歷史查詢結果
more -c -10 +/Exception dubbo-log.20190929