小夥伴們確定都遇到這麼尷尬場景,線上服務出問題了,老大一直在問什麼問題致使的,而你因爲對查找文本的命令不太熟,鼓搗了半天才找到那條 異常日誌,而這時可能半個小時都已通過去了。老大可能對你失望透頂了。講真我就是這樣的小白。對此痛定思痛,瘋狂瞭解各類查找命令的使用方式。less
經常使用的文本查找命令spa
cat命令日誌
格式:cat [-ns] file文檔
選項:io
-n 顯示行號監控
-s 空行不輸出百度
這是對查找文件有用的兩個選項,其它的相關選項能夠自行百度sed
more命令file
格式:more [-spcl][-number][+number][+/pattern] file
搜索
選項:
-s 空行不輸出
-number 顯示多少行
-l 忽略文件裏面的換頁符號
-p 經過清除窗口而不是滾屏來對文件進行換頁,與-c選項類似
+lineNumber 顯示lineNumber下的內容
+/pattern 從第一次出現該字段的前兩行開始顯示
操做命令:
Ctrl+F 向前翻一頁
Ctrl+B 向後翻一頁
空格 向下翻一頁
enter 向下翻一行
= 顯示當前行號
:f 顯示文檔名稱,當前行號
q 退出more命令
less命令
格式: less [-Ni] file
選項
-N 顯示行號
-i 查找匹配字段時忽略大小寫
操做命令:
/pattern 向下查詢該字段
?pattern 向上查詢該字段
n 重複前一個搜索
N 反向重複前一個搜索
pageUp 向前翻一頁
pageDown 向下翻一頁
回車 向下翻一頁
空格 向下翻一行
tail命令
格式: tail [-fn] file
選項:
-f 監控文件最新輸入
-n 顯示多少行
grep命令
格式:grep [-ABC][number] [--color=auto] pattern file
選項:
-C number 顯示該匹配字段的上下number行
-B number 顯示該字段的前number行
-A number 顯示該字段的後number行
--color 高亮顯示
sed命令
格式:sed -n 'n,mp' file
選項:
-n 靜態顯示
該命令用於顯示n行到m行之間的內容
命令的組合使用
case1:線上服務出現問題了,是在幾個小時以前出的問題,我知道問題的幾個關鍵字怎麼辦?
解決:cat fileName |grep "xxx" --color=auto
case2: 我想抓取下日誌最後30條,而且高亮顯示帶有‘exception的行’
解決:tail -fn 30 fileName |grep 'exception' --color=auto;
case3:我大概定位到問題所在的位置,可是還須要具體看這段時間的日誌內容才能肯定
解決:cat -n fileName |grep 'exception' 觀察下行號
sed -n '10,20p' fileName 顯示這段行號裏面的內容,接下來你就慢慢看吧