前言
more 是經典分頁檢視器,「向前翻頁」語源即來自其提示 --More--。雖然 less 功能更強(支援向上翻頁、搜尋、跳轉),但 more 輕量、標準化、嵌入式系統普遍預裝,掌握其操作鍵與參數仍屬基本功。本文完整整理參數、互動指令、與 less 差異對比。
一、命令列參數
| 參數 | 功能 | 範例 |
-d | 底部顯示友善提示 [Press space to continue, 'q' to quit.],錯誤鍵顯示 [Press 'h' for instructions.] 而非蜂鳴 | more -d file.txt |
-f | 以邏輯行數計算(不自動換行計算),適合超長行 | more -f wide.log |
-l | 忽略 ^L (Form Feed, Ctrl+L) 分頁符 | more -l formfeed.txt |
-p | 不捲動,直接清屏顯示下一頁 | more -p file.txt |
-c | 先顯示內容再清除舊畫面(視覺較平滑) | more -c file.txt |
-s | 壓縮連續空白行為單一空白行 | more -s sparse.txt |
-u | 不顯示底線/反白(終端機能力相關) | more -u file.txt |
-n | 指定每頁行數 | more -20 file.txt |
+linenum | 從指定行號開始顯示 | more +100 file.txt |
+/pattern | 搜尋字串並從首次匹配處開始顯示 | more +/error log.txt |
二、互動指令(檢視模式中按鍵)
| 按鍵 | 動作 | 備註 |
| Space / Enter | 向下翻一頁 / 一行 | 最常用 |
| b / Ctrl+B | 向上翻一頁 | 僅支援已讀取緩衝區內容 |
| /pattern | 向下搜尋字串(支援正則) | 輸入後按 Enter |
| n | 重複上一次搜尋(下一個) | — |
| q / Q / Ctrl+C | 離開 more | — |
| h | 顯示說明畫面 | 包含所有指令 |
| v | 啟動編輯器($EDITOR 或 vi)編輯當前檔案 | 儲存離開後回到 more |
| :f | 顯示檔案名與當前行號 | — |
| !cmd | 執行 Shell 命令(暫離) | 完成後返回 more |
| . | 重複上一個 !cmd | — |
三、more vs less 關鍵差異
| 特性 | more | less |
| 向上翻頁 | 支援(b),但僅限已讀緩衝區 | 完整支援,可隨意跳轉 |
| 搜尋方向 | 僅向下 / | 向下 /、向上 ? |
| 大檔案啟動速度 | 快(流式讀取) | 快(同樣流式) |
| 標準化 | POSIX 標準 | GNU 擴展(幾乎所有 Linux 預裝) |
| 編輯器整合 | v 啟動 | v 啟動 |
| 標記/跳轉 | 無 | ma-z 標記,'a-z 跳轉 |
| 多檔案切換 | more file1 file2 依序閱讀 | :n 下一檔,:p 上一檔 |
四、實戰使用場景
# 1. 管線分頁(最常見)
dmesg | more
ps aux | more -d
# 2. 從第 50 行開始看
more +50 /var/log/syslog
# 3. 直接搜尋關鍵字
more +/ERROR /var/log/app.log
# 4. 固定每頁 30 行,友善提示
more -d -30 /etc/passwd
# 5. 壓縮空白行閱讀稀疏日誌
more -s sparse.log
五、環境變數控制
MORE:預設參數(如 export MORE="-d -s")。
PAGER:系統預設分頁器(man、git log 等呼叫),通常設為 less。
六、總結
more 是「輕量、順向、標準」的分頁器。記住 Space 翻頁、b 回頁、/ 搜尋、q 退出、h 說明五大核心鍵,即可在任何 POSIX 環境無障礙閱讀長輸出。現代桌面/伺服器環境建議將 PAGER=less 享受完整雙向導航體驗。