日誌是系統運行的重要文件,當系統發生錯誤,查看日誌文件是很是有必要的。可是,當文件過大時,就不能用vi 進行所有查看,須要相應的日誌查看命令。若是想查看日誌中的某幾行,可使用tail 、head、sed命令,若是想在日誌中匹配關鍵字內容,可使用grep命令,若是想讓日誌文件進行建立、整合添加、顯示整個文件內容可使用cat命令,cat從第一行開始開始正向顯示日誌內容,與此相反有個tac命令,能夠從最後一行開始顯示內容。正則表達式
下面詳細介紹一下各命令具體使用狀況:express
tailvim
參數: tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 工具
參數說明: spa
File 指定操做的目標文件名稱 .net
上述命令中,都涉及到number,假設不指定,默認顯示10行。Number前面可以使用正負號,表示該偏移從頂部仍是從尾部開始計算。 日誌
tail可運行文件通常在/usr/bin/如下。blog
head
head 僅僅顯示前面幾行內存
示例:
head -n 10 test.log 查詢日誌文件中的頭10行日誌;
head -n -10 test.log 查詢日誌文件除了最後10行的其餘全部日誌;io
grep
grep(global search regular expression(RE) and print out the line,全面搜索正則表達式並把行打印出來)是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹配的行打印出來。
grep [options] 主要參數:
-c:只輸出匹配行的計數。
-I:不區分大 小寫(只適用於單字符)。
-h:查詢多文件時不顯示文件名。
-l:查詢多文件時只輸出包含匹配字符的文件名。
-n:顯示匹配行及 行號。
-s:不顯示不存在或無匹配文本的錯誤信息。
-v:顯示不包含匹配文本的全部行。
pattern正則表達式主要參數
:忽略正則表達式中特殊字符的原有含義。
^:匹配正則表達式的開始行。
$: 匹配正則表達式的結束行。
<:從匹配正則表達 式的行開始。
>:到匹配正則表達式的行結束。
[ ]:單個字符,如[A]即A符合要求 。
[-]:範圍,如[A-Z],即A、B、C一直到Z都符合要求 。
。:全部的單個字符。
- :有字符,長度能夠爲0。
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
tac 是將 cat 反寫過來,因此他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上, 而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!
日誌最常使用的三種操做命令
第一種:查看實時變化的日誌(比較吃內存)
最經常使用的:
tail -f filename (默認最後10行,至關於增長參數 -n 10)
Ctrl+c 是退出tail命令
其餘狀況:
tail -n 20 filename (顯示filename最後20行)
tail -n +5 filename (從第5行開始顯示文件)
第二種:搜索關鍵字附近的日誌
最經常使用的:cat -n filename |grep "關鍵字"
其餘狀況:
第三種:進入編輯查找:vi(vim)
一、進入vim編輯模式:vim filename
二、輸入「/關鍵字」,按enter鍵查找
三、查找下一個,按「n」便可
退出:按ESC鍵後,接着再輸入 :號 時,vi會在屏幕的最下方等待咱們輸入命令
wq! 保存退出;
q! 不保存退出;
其餘狀況:
/關鍵字 注:正向查找,按n鍵把光標移動到下一個符合條件的地方
?關鍵字 注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的
參考連接: