linux檢視日誌的幾個方法
阿新 • • 發佈:2019-02-01
tail作用
用來檢視檔案的內容,如果值前面沒有 +(加號)或 -(減號),那麼從檔案末尾指定的單元號開始讀取檔案。
tail引數
- -f 不停的去讀最新的內容
- -n 從首行或末行位置來讀取指定檔案,位置由 Number 變數的符號(+ 或 - 或無)表示,並通過行號 Number 進行位移。
- -r 從檔案末尾以逆序方式顯示輸出,只有與 -n 標誌一起時才有效。否則,就會將其忽略
- -k Number 從 Number 變量表示的1KB 塊位置開始讀取指定檔案
head作用
head命令和tail命令就像他的名字一樣淺顯易懂,它是用來顯示開頭或者結尾某個數量的文字區塊,head用來顯示檔案的開頭至標準輸出當中
head引數
- -q 隱藏檔名
- -v 顯示檔名
- -c 顯示位元組數
- -n 顯示的行數
sed作用
本身是一個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作
sed引數
- -n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 引數後,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。
- -p ∶列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起運作~
- -s ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!
cat作用
cat主要有三大功能:
1. 一次顯示整個檔案。
3. 將幾個檔案合併為一個檔案: $cat file1 file2 > file
cat引數
- -n 或 –number 由 1 開始對所有輸出的行數編號
- -b 或 –number-nonblank 和 -n 相似,只不過對於空白行不編號
- -s 或 –squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行
- -v 或 –show-nonprinting
- -E, –show-ends 在每行結束處顯示 $
- -e 等價於-vE
grep 作用
是一種強大的文字搜尋工具,它能使用正則表示式搜尋文字,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全域性正則表示式版本
grep引數
- -n:顯示匹配行及 行號
- -h:查詢多檔案時不顯示檔名
- -A: 顯示匹配行及前面多少行, 如: -A3, 則表示顯示匹配行及前3行
- -B: 顯示匹配行及後面多少行, 如: -B3, 則表示顯示匹配行及後3行
- -C: 顯示匹配行前後多少行, 如: -C3, 則表示顯示批量行前後3行
應用
cat -n test.log |grep “地形” | more 得到關鍵日誌的行號
cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查詢92行之後的日誌
head -n 20 則表示在前面的查詢結果裡再查前20條記錄
cat -n test.log |grep “地形” >xxx.txt
grep ‘2014-12-17 16:17:20’ test.log
sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log