Linux檢視日誌命令
阿新 • • 發佈:2019-01-01
當日志文件儲存日誌很大時,我們就不能用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 守護程序啟動和停止相關的日誌訊息
- 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行。
- head
head 僅僅顯示前面幾行
head -n 10 test.log 查詢日誌檔案中的頭10行日誌;
head -n -10 test.log 查詢日誌檔案除了最後10行的其他所有日誌;
- grep
grep [options]
主要引數:
[options]主要引數:
-c:只輸出匹配行的計數。
-I:不區分大 小寫(只適用於單字元)。
-h:查詢多檔案時不顯示檔名。
-l:查詢多檔案時只輸出包含匹配字元的檔名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文字的錯誤資訊。
-v:顯示不包含匹配文字的所有行。
pattern正則表示式主要引數:
: 忽略正則表示式中特殊字元的原有含義。
^:匹配正則表示式的開始行。
$: 匹配正則表示式的結束行。
<:從匹配正則表達 式的行開始。
>:到匹配正則表示式的行結束。
[ ] :單個字元,如[A]即A符合要求 。
[ - ]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:所有的單個字元。
- :有字元,長度可以為0。
- sed
用sed命令
sed -n '5,10p' filename 這樣你就可以只檢視檔案的第5行到第10行。
- 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
注意:>意思是建立,>>是追加。千萬不要弄混了。
- tac (反向列示)
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,
而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!
- 混合使用命令
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條記錄