Linux 日誌查看經常使用命令

日誌是系統運行的重要文件,當系統發生錯誤,查看日誌文件是很是有必要的。可是,當文件過大時,就不能用vi 進行所有查看,須要相應的日誌查看命令。若是想查看日誌中的某幾行,可使用tail 、head、sed命令,若是想在日誌中匹配關鍵字內容,可使用grep命令,若是想讓日誌文件進行建立、整合添加、顯示整個文件內容可使用cat命令,cat從第一行開始開始正向顯示日誌內容,與此相反有個tac命令,能夠從最後一行開始顯示內容。正則表達式

下面詳細介紹一下各命令具體使用狀況:express

tailvim

參數: tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 工具

參數說明: spa

  • -f 該參數用於監視File文件增加。 
  • -c Number 從 Number 字節位置讀取指定文件 
  • -n Number 從 Number 行位置讀取指定文件。 
  • -m Number 從 Number 多字節字符位置讀取指定文件,比方你的文件假設包括中文字,假設指定-c參數,可能致使截斷,但使用-m則會避免該問題。 
  • -b Number 從 Number 表示的512字節塊位置讀取指定文件。 
  • -k Number 從 Number 表示的1KB塊位置讀取指定文件。 

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 "關鍵字"

其餘狀況:

  • cat filename | grep -C 5 '關鍵字' (顯示日誌裏匹配字串那行以及先後5行)
  • cat filename | grep -B 5 '關鍵字' (顯示匹配字串及前5行)
  • cat filename | grep -A 5 '關鍵字' (顯示匹配字串及後5行)

第三種:進入編輯查找:vi(vim) 

一、進入vim編輯模式:vim filename

二、輸入「/關鍵字」,按enter鍵查找

三、查找下一個,按「n」便可

退出:按ESC鍵後,接着再輸入 :號 時,vi會在屏幕的最下方等待咱們輸入命令

wq! 保存退出;

q! 不保存退出;

 

其餘狀況:

/關鍵字   注:正向查找,按n鍵把光標移動到下一個符合條件的地方
?關鍵字   注:反向查找,按shift+n 鍵,把光標移動到下一個符合條件的

參考連接:

  • https://blog.csdn.net/aoocean/article/details/82595084#tac%20(%E5%8F%8D%E5%90%91%E5%88%97%E7%A4%BA)
  • https://blog.csdn.net/qq_28286027/article/details/81121473
相關文章
相關標籤/搜索