指令快速對照
| 指令 | 特性 | 適用場景 |
cat | 一次性輸出全部內容 | 小檔案、管道輸入 |
tac | 反向輸出(最後一行先顯示) | 倒序查看日誌 |
nl | 顯示行號(含空行) | 程式碼審閱 |
more | 分頁向下翻閱,不支援向上 | 傳統分頁器 |
less | 分頁雙向翻閱、搜尋、跳轉 | 大檔案、日誌分析(推薦) |
head | 顯示前 N 行 | 快速預覽檔案開頭 |
tail | 顯示後 N 行、追蹤模式 | 即時監控日誌 |
od | 八進制/十六進制/字元顯示 | 二進制檔案檢查 |
cat 進階參數
cat -n file # 顯示行號(含空行)
cat -b file # 顯示行號(非空行)
cat -A file # 顯示 $ (行尾)、^I (Tab)、^M (CR)
cat -s file # 壓縮連續空行為單行
cat -v file # 顯示非列印字元 (^M- 等)
more 操作鍵
- Space:下一頁
- Enter:下一行
- /pattern:向下搜尋
- :f:顯示檔名與行號
- q:離開
- b:上一頁(僅限檔案,管道無效)
less 操作鍵(功能超集)
- Space/PageDown:下一頁
- PageUp/b:上一頁
- Enter/j:下一行
- k:上一行
- /pattern:向下搜尋
- ?pattern:向上搜尋
- n:重複上一搜尋
- N:反向重複
- g:跳至開頭;G:跳至結尾
- q:離開
- F:進入追蹤模式(同
tail -f),Ctrl+C 退出追蹤
head / tail 實用範例
head -n 20 file # 前 20 行
head -c 1024 file # 前 1024 位元組
tail -n 50 file # 後 50 行
tail -f /var/log/messages # 即時追蹤(標準)
tail -F /var/log/messages # 追蹤並自動處理 logrotate 切割
tail --pid=$$ -f file # 當前 shell 結束時自動停止追蹤
組合技:定位關鍵字上下文
grep -n "ERROR" app.log | head -5
# 或
less +/ERROR app.log # 直接進 less 並高亮第一個 ERROR