作為一名后端程序員,和Linux打交道的地方很多,不會看Linux日志,非常容易受到來自同事和面試官的嘲諷,所以掌握一種或者幾種查看日志的方法非常重要。
Linux查看日志的命令有多種: tail、cat、tac、head、echo等,本文只介紹幾種常用的方法。
1、tail
這個是我最常用的一種查看方式
命令格式: tail[必要參數(shù)][選擇參數(shù)][文件] -f 循環(huán)讀取 -q 不顯示處理信息 -v 顯示詳細的處理信息 -c<數(shù)目> 顯示的字節(jié)數(shù)
-n<行數(shù)> 顯示行數(shù) -q, --quiet, --silent 從不輸出給出文件名的首部 -s, --sleep-interval=S
與-f合用,表示在每次反復的間隔休眠S秒
用法如下:
tail -n 10 test.log 查詢?nèi)罩疚膊孔詈?0行的日志; tail -n +10 test.log 查詢10行之后的所有日志; tail
-fn 10 test.log 循環(huán)實時查看最后1000行記錄(最常用的)
一般還會配合著grep用,例如 :
tail -fn 1000 test.log | grep '關(guān)鍵字'
如果一次性查詢的數(shù)據(jù)量太大,可以進行翻頁查看,例如:
tail -n 4700 aa.log |more -1000 可以進行多屏顯示(ctrl + f 或者 空格鍵可以快捷鍵)
2、head
跟tail是相反的head是看前多少行日志
head -n 10 test.log 查詢?nèi)罩疚募械念^10行日志; head -n -10 test.log 查詢?nèi)罩疚募俗詈?0行的其他所有日志;
head其他參數(shù)參考tail
3、cat
cat 是由第一行到最后一行連續(xù)顯示在屏幕上
一次顯示整個文件 :
$ cat filename
從鍵盤創(chuàng)建一個文件 :
$cat > filename
將幾個文件合并為一個文件:
$cat file1 file2 > file 只能創(chuàng)建新文件,不能編輯已有文件.
將一個日志文件的內(nèi)容追加到另外一個 :
$cat -n textfile1 > textfile2
清空一個日志文件:
$cat : >textfile2
注意:> 意思是創(chuàng)建,>>是追加。千萬不要弄混了。
cat其他參數(shù)參考tail
4、more
more命令是一個基于vi編輯器文本過濾器,它以全屏幕的方式按頁顯示文本文件的內(nèi)容,支持vi中的關(guān)鍵字定位操作。more
名單中內(nèi)置了若干快捷鍵,常用的有H(獲得幫助信息),Enter(向下翻滾一行),空格(向下滾動一屏),Q(退出命令)。more
命令從前向后讀取文件,因此在啟動時就加載整個文件。
該命令一次顯示一屏文本,滿屏后停下來,并且在屏幕的底部出現(xiàn)一個提示信息,給出至今己顯示的該文件的百分比:–More–(XX%)
more的語法:more 文件名
Enter 向下n行,需要定義,默認為1行
Ctrl f 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl b 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
v 調(diào)用vi編輯器
!命令 調(diào)用Shell,并執(zhí)行命令
q退出more
5、sed
這個命令可以查找日志文件特定的一段 , 根據(jù)時間的一個范圍查詢,可以按照行號和時間范圍查詢
按照行號
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命令在查詢?nèi)罩緯r,一般流程是這樣的
less log.log shift + G 命令到文件尾部 然后輸入 ?加上你要搜索的關(guān)鍵字例如 ?1213 按 n 向上查找關(guān)鍵字 shift+n
反向查找關(guān)鍵字 less與more類似,使用less可以隨意瀏覽文件,而more僅能向前移動,不能向后移動,而且 less 在查看之前不會加載整個文件。
less log2013.log 查看文件 ps -ef | less ps查看進程信息并通過less分頁顯示 history | less
查看命令歷史使用記錄并通過less分頁顯示 less log2013.log log2014.log 瀏覽多個文件
常用命令參數(shù):
less與more類似,使用less可以隨意瀏覽文件,而more僅能向前移動,不能向后移動,而且 less 在查看之前不會加載整個文件。 less
log2013.log 查看文件 ps -ef | less ps查看進程信息并通過less分頁顯示 history | less
查看命令歷史使用記錄并通過less分頁顯示 less log2013.log log2014.log 瀏覽多個文件 常用命令參數(shù): -b <緩沖區(qū)大小>
設置緩沖區(qū)的大小 -g 只標志最后搜索的關(guān)鍵詞 -i 忽略搜索時的大小寫 -m 顯示類似more命令的百分比 -N 顯示每行的行號 -o <文件名>
將less 輸出的內(nèi)容在指定文件中保存起來 -Q 不使用警告音 -s 顯示連續(xù)空行為一行 /字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能 n:重復前一個搜索(與 / 或 ? 有關(guān)) N:反向重復前一個搜索(與 / 或 ? 有關(guān)) b 向后翻一頁 h
顯示幫助界面 q 退出less 命令
一般本人查日志配合應用的其他命令
history // 所有的歷史記錄 history | grep XXX // 歷史記錄中包含某些指令的記錄 history | more //
分頁查看記錄 history -c // 清空所有的歷史記錄 !! 重復執(zhí)行上一個命令 查詢出來記錄后選中 : !323
linux日志文件說明
/var/log/message 系統(tǒng)啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一 /var/log/secure
與安全相關(guān)的日志信息 /var/log/maillog 與郵件相關(guān)的日志信息 /var/log/cron 與定時任務相關(guān)的日志信息
/var/log/spooler 與UUCP和news設備相關(guān)的日志信息 /var/log/boot.log 守護進程啟動和停止相關(guān)的日志消息
/var/log/wtmp 該日志文件永久記錄每個用戶登錄、注銷及系統(tǒng)的啟動、停機的事件
水文一篇沒什么含金量,只為給大家溫習一下功課
WeChat:關(guān)注公重號:【程序員內(nèi)點事】,免費獲取2000G學習資料,內(nèi)含精選面試題,SSM、Spring全家桶、微服務、MySQL、MyCat、集群、分布式、中間件、Linux、網(wǎng)絡、多線程,Jenkins、Nexus、Docker、ELK等等免費學習視頻,持續(xù)更新!
熱門工具 換一換