Linux 日志查看常用命令


日志是系統運行的重要文件,當系統發生錯誤,查看日志文件是非常有必要的。但是,當文件過大時,就不能用vi 進行全部查看,需要相應的日志查看命令。如果想查看日志中的某幾行,可以使用tail 、head、sed命令,如果想在日志中匹配關鍵字內容,可以使用grep命令,如果想讓日志文件進行創建、整合添加、顯示整個文件內容可以使用cat命令,cat從第一行開始開始正向顯示日志內容,與此相反有個tac命令,可以從最后一行開始顯示內容。

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

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/以下。

head
head 僅僅顯示前面幾行

示例:
head -n 10 test.log 查詢日志文件中的頭10行日志;
head -n -10 test.log 查詢日志文件除了最后10行的其他所有日志;

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) 

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

2、輸入“/關鍵字”,按enter鍵查找

3、查找下一個,按“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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM