Linux查看日志命令

  • tail
tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 
-f 該參數(shù)用于監(jiān)視File文件增長(zhǎng)。 
-c Number 從 Number 字節(jié)位置讀取指定文件 
-n Number 從 Number 行位置讀取指定文件。 
-m Number 從 Number 多字節(jié)字符位置讀取指定文件,比方你的文件假設(shè)包括中文字,假設(shè)指定-c參數(shù),可能導(dǎo)致截?cái)?,但使?m則會(huì)避免該問題。 
-b Number 從 Number 表示的512字節(jié)塊位置讀取指定文件。 
-k Number 從 Number 表示的1KB塊位置讀取指定文件。 
File 指定操作的目標(biāo)文件名稱 
上述命令中,都涉及到number,假設(shè)不指定,默認(rèn)顯示10行。
Number前面可使用正負(fù)號(hào),表示該偏移從頂部還是從尾部開始計(jì)算。 
  • head
head -n 10  test.log   查詢?nèi)罩疚募械念^10行日志;  
head -n -10  test.log   查詢?nèi)罩疚募俗詈?0行的其他所有日志; 
  • grep
-c:只輸出匹配行的計(jì)數(shù)。  
-I:不區(qū)分大 小寫(只適用于單字符)。  
-h(huán):查詢多文件時(shí)不顯示文件名。  
-l:查詢多文件時(shí)只輸出包含匹配字符的文件名。  
-n:顯示匹配行及 行號(hào)。  
-s:不顯示不存在或無(wú)匹配文本的錯(cuò)誤信息。  
-v:顯示不包含匹配文本的所有行。  
pattern正則表達(dá)式主要參數(shù):  
: 忽略正則表達(dá)式中特殊字符的原有含義。  
^:匹配正則表達(dá)式的開始行。  
$: 匹配正則表達(dá)式的結(jié)束行。  
<:從匹配正則表達(dá) 式的行開始。  
>:到匹配正則表達(dá)式的行結(jié)束。  
[ ]:?jiǎn)蝹€(gè)字符,如[A]即A符合要求 。  
[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求 。  
。:所有的單個(gè)字符。  
 - :有字符,長(zhǎng)度可以為0。

cat service.log | grep 13888888888 查詢關(guān)鍵字
  • sed
sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。 
  • cat
cat主要有三大功能:  
1.一次顯示整個(gè)文件。$ cat filename  
2.從鍵盤創(chuàng)建一個(gè)文件。$ cat > filename   
  只能創(chuàng)建新文件,不能編輯已有文件.  
3.將幾個(gè)文件合并為一個(gè)文件: $cat file1 file2 > file  
4. cat service.log | wc -l 統(tǒng)計(jì)日志多少行

參數(shù):  
-n 或 --number 由 1 開始對(duì)所有輸出的行數(shù)編號(hào)  
-b 或 --number-nonblank 和 -n 相似,只不過對(duì)于空白行不編號(hào)  
-s 或 --squeeze-blank 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行  
-v 或 --show-nonprinting  
例:  
把 textfile1 的檔案內(nèi)容加上行號(hào)后輸入 textfile2 這個(gè)檔案里  
cat -n textfile1 > textfile2  

把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 textfile3 里。  
cat -b textfile1 textfile2 >> textfile3  

把test.txt文件扔進(jìn)垃圾箱,賦空值test.txt  
cat /dev/null > /etc/test.txt   
注意:>意思是創(chuàng)建,>>是追加。千萬(wàn)不要弄混了。
  • tac (反向列示)

  • 混合使用

A.  tail web.2016-06-06.log -n 300 -f  
    查看底部即最新300條日志記錄,并實(shí)時(shí)刷新      

B.  grep 'nick' | tail web.2016-04-04.log -C 10   
    查看字符‘nick’前后10條日志記錄, 大寫C  

C.  cat -n test.log |tail -n +92|head -n 20  
    tail -n +92表示查詢92行之后的日志  
    head -n 20 則表示在前面的查詢結(jié)果里再查前20條記錄

D.  sed -n "29496,29516p" service.log:從29496行開始檢索,到29516行結(jié)束
    cat -n service.log | tail -n +29496 | head -n 20:從29496行開始檢索,往前推20條

    如果關(guān)鍵字不太準(zhǔn)確(日志輸出的記錄太多了),我們可以使用more命令來瀏覽或者輸出到文件上再分析:
    cat service.log | grep 13 |more :將查詢后的結(jié)果交由more輸出
    cat service.log | grep 13 &gt; /home/sanwai/aa.txt  將查詢后的結(jié)果寫到/home/sanwai/aa.txt文件上

技術(shù)討論 & 疑問建議 & 個(gè)人博客

版權(quán)聲明: 本博客所有文章除特別聲明外,均采用 CC BY-NC-SA 3.0 許可協(xié)議,轉(zhuǎn)載請(qǐng)注明出處!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容