1. 程式人生 > >Linux 6種日誌檢視方法,不會看日誌會被鄙視的

Linux 6種日誌檢視方法,不會看日誌會被鄙視的

作為一名後端程式設計師,和Linux打交道的地方很多,不會看Linux日誌,非常容易受到來自同事和麵試官的嘲諷,所以掌握一種或者幾種檢視日誌的方法非常重要。

Linux檢視日誌的命令有多種: tail、cat、tac、head、echo等,本文只介紹幾種常用的方法。

1、tail

這個是我最常用的一種檢視方式

命令格式: tail[必要引數][選擇引數][檔案]
-f 迴圈讀取
-q 不顯示處理資訊
-v 顯示詳細的處理資訊
-c<數目> 顯示的位元組數
-n<行數> 顯示行數
-q, --quiet, --silent 從不輸出給出檔名的首部
-s, --sleep-interval=S 與-f合用,表示在每次反覆的間隔休眠S秒

用法如下:

tail  -n  10   test.log   查詢日誌尾部最後10行的日誌;
tail  -n +10   test.log   查詢10行之後的所有日誌;
tail  -fn 10   test.log   迴圈實時檢視最後1000行記錄(最常用的)

一般還會配合著grep用,例如 :

 tail -fn 1000 test.log | grep '關鍵字'

如果一次性查詢的資料量太大,可以進行翻頁檢視,例如:

tail -n 4700  aa.log |more -1000 可以進行多屏顯示(ctrl + f 或者 空格鍵可以快捷鍵)

跟tail是相反的head是看前多少行日誌

head -n  10  test.log   查詢日誌檔案中的頭10行日誌;
head -n -10  test.log   查詢日誌檔案除了最後10行的其他所有日誌;

head其他引數參考tail

3、cat

cat 是由第一行到最後一行連續顯示在螢幕上

一次顯示整個檔案 :

 $ cat filename

從鍵盤建立一個檔案 :

$cat > filename

將幾個檔案合併為一個檔案:

$cat file1 file2 > file 只能建立新檔案,不能編輯已有檔案.

將一個日誌檔案的內容追加到另外一個 :

$cat -n textfile1 > textfile2

清空一個日誌檔案:

$cat : >textfile2

注意:> 意思是建立,>>是追加。千萬不要弄混了。
cat其他引數參考tail

4、more

more命令是一個基於vi編輯器文字過濾器,它以全螢幕的方式按頁顯示文字檔案的內容,支援vi中的關鍵字定位操作。more名單中內建了若干快捷鍵,常用的有H(獲得幫助資訊),Enter(向下翻滾一行),空格(向下滾動一屏),Q(退出命令)。more命令從前向後讀取檔案,因此在啟動時就載入整個檔案。

該命令一次顯示一屏文字,滿屏後停下來,並且在螢幕的底部出現一個提示資訊,給出至今己顯示的該檔案的百分比:–More–(XX%)

more的語法:more 檔名
Enter 向下n行,需要定義,預設為1行
Ctrl f 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl b 返回上一屏
= 輸出當前行的行號
:f 輸出檔名和當前行的行號
v 呼叫vi編輯器
!命令 呼叫Shell,並執行命令
q退出more

5、sed

這個命令可以查詢日誌檔案特定的一段 , 根據時間的一個範圍查詢,可以按照行號和時間範圍查詢

按照行號

sed -n '5,10p' filename 這樣你就可以只檢視檔案的第5行到第10行。

按照時間段

 sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

6、less

less命令在查詢日誌時,一般流程是這樣的

less log.log

shift + G 命令到檔案尾部  然後輸入 ?加上你要搜尋的關鍵字例如 ?1213

按 n 向上查詢關鍵字

shift+n  反向查詢關鍵字
less與more類似,使用less可以隨意瀏覽檔案,而more僅能向前移動,不能向後移動,而且 less 在檢視之前不會載入整個檔案。
less log2013.log 檢視檔案
ps -ef | less   ps檢視程序資訊並通過less分頁顯示
history | less   檢視命令歷史使用記錄並通過less分頁顯示
less log2013.log log2014.log   瀏覽多個檔案

常用命令引數:

less與more類似,使用less可以隨意瀏覽檔案,而more僅能向前移動,不能向後移動,而且 less 在檢視之前不會載入整個檔案。
less log2013.log 檢視檔案
ps -ef | less   ps檢視程序資訊並通過less分頁顯示
history | less   檢視命令歷史使用記錄並通過less分頁顯示
less log2013.log log2014.log   瀏覽多個檔案
常用命令引數:
-b <緩衝區大小> 設定緩衝區的大小
-g 只標誌最後搜尋的關鍵詞
-i 忽略搜尋時的大小寫
-m 顯示類似more命令的百分比
-N 顯示每行的行號
-o <檔名> 將less 輸出的內容在指定檔案中儲存起來
-Q 不使用警告音
-s 顯示連續空行為一行
/字串:向下搜尋"字串"的功能
?字串:向上搜尋"字串"的功能
n:重複前一個搜尋(與 / 或 ? 有關)
N:反向重複前一個搜尋(與 / 或 ? 有關)
b 向後翻一頁
h 顯示幫助介面
q 退出less 命令

一般本人查日誌配合應用的其他命令

history // 所有的歷史記錄

history | grep XXX  // 歷史記錄中包含某些指令的記錄

history | more // 分頁檢視記錄

history -c // 清空所有的歷史記錄

!! 重複執行上一個命令

查詢出來記錄後選中 : !323

linux日誌檔案說明

/var/log/message 系統啟動後的資訊和錯誤日誌,是Red Hat Linux中最常用的日誌之一
/var/log/secure 與安全相關的日誌資訊
/var/log/maillog 與郵件相關的日誌資訊
/var/log/cron 與定時任務相關的日誌資訊
/var/log/spooler 與UUCP和news裝置相關的日誌資訊
/var/log/boot.log 守護程序啟動和停止相關的日誌訊息
/var/log/wtmp 該日誌檔案永久記錄每個使用者登入、登出及系統的啟動、停機的事件

水文一篇沒什麼含金量,只為給大家溫習一下功課


WeChat:關注公重號:【程式設計師內點事】,免費獲取2000G學習資料,內含精選面試題,SSM、Spring全家桶、微服務、MySQL、MyCat、叢集、分散式、中介軟體、Linux、網路、多執行緒,Jenkins、Nexus、Docker、ELK等等免費學習視訊,持續更新!