1. 程式人生 > >Linux查看日誌命令

Linux查看日誌命令

Linux 查看日誌命令

當日誌文件存儲日誌很大時,我們就不能用vi直接進去查看日誌,需要Linux的命令去完成我們的查看任務
Log位置:

/var/log/message    系統啟動後的信息和錯誤日誌,是Red Hat Linux中最常用的日誌之一   
/var/log/secure 與安全相關的日誌信息   
/var/log/maillog    與郵件相關的日誌信息   
/var/log/cron   與定時任務相關的日誌信息   
/var/log/spooler    與UUCP和news設備相關的日誌信息   
/var/log/boot.log   守護進程啟動和停止相關的日誌消息 12345678

  • tail

    參數:
    tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
    參數解釋:
    -f 該參數用於監視File文件增長。
    -c Number 從 Number 字節位置讀取指定文件
    -n Number 從 Number 行位置讀取指定文件。
    -m Number 從 Number 多字節字符位置讀取指定文件,比方你的文件假設包括中文字,假設指定-c參數,可能導致截斷,但使用-m則會避免該問題。
    -b Number 從 Number 表示的512字節塊位置讀取指定文件。
    -k Number 從 Number 表示的1KB塊位置讀取指定文件。
    File 指定操作的目標文件名稱
    上述命令中,都涉及到number,假設不指定,默認顯示10行。Number前面可使用正負號,表示該偏移從頂部還是從尾部開始計算。
    tail可運行文件一般在/usr/bin/以下。
實例:  
1、tail -f filename  
說明:監視filename文件的尾部內容(默認10行,相當於增加參數 -n 10),刷新顯示在屏幕上。退出,按下CTRL+C。  

2、tail -n 20 filename  
說明:顯示filename最後20行。  

3、tail -r -n 10 filename  
說明:逆序顯示filename最後10行。123456789
  • head

head 僅僅顯示前面幾行  

head -n 10  test.log   查詢日誌文件中的頭10行日誌;  

head -n -10  test.log   查詢日誌文件除了最後10行的其他所有日誌;  12345
  • grep

grep [options]  主要參數:  
[options]主要參數:  
-c:只輸出匹配行的計數。  
-I:不區分大 小寫(只適用於單字符)。  
-h:查詢多文件時不顯示文件名。  
-l:查詢多文件時只輸出包含匹配字符的文件名。  
-n:顯示匹配行及 行號。  
-s:不顯示不存在或無匹配文本的錯誤信息。  
-v:顯示不包含匹配文本的所有行。  
pattern正則表達式主要參數:  
: 忽略正則表達式中特殊字符的原有含義。  
^:匹配正則表達式的開始行。  
$: 匹配正則表達式的結束行。  
<:從匹配正則表達 式的行開始。  
>:到匹配正則表達式的行結束。  
[ ]:單個字符,如[A]即A符合要求 。  
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。  
。:所有的單個字符。  
 - :有字符,長度可以為0。1234567891011121314151617181920
  • sed

用sed命令  
sed -n '5,10p' filename 這樣你就可以只查看文件的第5行到第10行。  12
  • cat

cat主要有三大功能:  
1.一次顯示整個文件。$ cat filename  
2.從鍵盤創建一個文件。$ cat > filename   
  只能創建新文件,不能編輯已有文件.  3.將幾個文件合並為一個文件: $cat file1 file2 > file  

參數:  
-n 或 --number 由 1 開始對所有輸出的行數編號  
-b 或 --number-nonblank 和 -n 相似,只不過對於空白行不編號  
-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行  
-v 或 --show-nonprinting  例:  
把 textfile1 的檔案內容加上行號後輸入 textfile2 這個檔案裏  
cat -n textfile1 > textfile2  

把 textfile1 和 textfile2 的檔案內容加上行號(空白行不加)之後將內容附加到 textfile3 裏。  
cat -b textfile1 textfile2 >> textfile3  

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

tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,  
而 tac 則是由最後一行到第一行反向在螢幕上顯示出來! 12
  • 混合使用命令

A.  tail web.2016-06-06.log -n 300 -f  
    查看底部即最新300條日誌記錄,並實時刷新      

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 則表示在前面的查詢結果裏再查前20條記錄


Linux查看日誌命令