1. 程式人生 > >linux檢視日誌的幾個方法

linux檢視日誌的幾個方法

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. 一次顯示整個檔案。catfilename2. cat > filename 只能建立新檔案,不能編輯已有檔案.
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