【引言】
排查線上環(huán)境問(wèn)題,少不了去線上查日志。而使用什么命令,能快速準(zhǔn)確地查到我們需要查找地日志信息,也是我們需要掌握的一項(xiàng)技能。
【學(xué)習(xí)】
Linux查看命令有多種:tail,headlinux命令linux命令,cat,tac,more
(一) tail 命令
參數(shù):
1)-f 循環(huán)讀取
2)-q 不顯示處理信息
3)-v 顯示詳細(xì)的處理信息
4)-c<數(shù)目> 顯示的字節(jié)數(shù)
5)-n<行數(shù)> 顯示行數(shù)
應(yīng)用:
命令含義
tail -f test.log
查看實(shí)時(shí)日志
tail -100f test.log
查看最后100行日志記錄
tail -n 10 test.log
查詢(xún)?nèi)罩疚膊孔詈?0行的日志
tail -n +10 test.log
查詢(xún)10行之后的所有日志
tail -fn 100 test.log
循環(huán)實(shí)時(shí)查看最后100行記錄
(二) head 命令
功能
跟tail是相反的,tail是查看后多少行日志
應(yīng)用
命令含義
head -n 10 test.log
查詢(xún)?nèi)罩疚募械那?0行日志
head -n -10 test.log
查詢(xún)?nèi)罩疚募俗詈?0行的其他所有日志
(三) cat 命令
功能
1)一次顯示整個(gè)文件。cat filename
2)創(chuàng)建一個(gè)文件。cat > filename
3)將幾個(gè)文件合并為一個(gè)文件。 cat file1 file2 > file
參數(shù):
1)-n 由1開(kāi)始對(duì)所有輸出的行數(shù)編號(hào)
2)-b 和-n相似,只不過(guò)對(duì)于空白行不編號(hào)
3)-s 當(dāng)遇到有連續(xù)兩行以上的空白行,就代換為一行的空白行
4)-c<數(shù)目> 顯示的字節(jié)數(shù)
5)-n<行數(shù)> 顯示行數(shù)
應(yīng)用
tail -n 1000 /var/log/messages。result=$(cat $dir/docker_build_result.log | tail -n 1)。運(yùn)行后會(huì)產(chǎn)生6個(gè)輸出文件,test.log、test.log.1、test.log.2、test.log.3、test.log.4、test.log.5。
2)cat -n test.log |grep “debug” #得到關(guān)鍵日志的行號(hào)
3)cat filename | tail -n +3000 | head -n 1000 #從第3000行開(kāi)始,顯示1000行。即顯示3000~3999行
4)cat filename| head -n 3000 | tail -n +1000 #顯示1000行到3000行
5)cat -n textfile1 > textfile2 #把 textfile1 的檔案內(nèi)容加上行號(hào)后輸入 textfile2 這個(gè)檔案里
6)cat -b textfile1 textfile2 >> textfile3 #把 textfile1 和 textfile2 的檔案內(nèi)容加上行號(hào)(空白行不加)之后將內(nèi)容附加到 textfile3 里
(四) tac 命令
功能
tac是將cat反寫(xiě)過(guò)來(lái),它的功能跟cat相反,cat是由第一行到最后一行連續(xù)顯示,而tac是由最后一行到第一行反向顯示。
(五) more 命令
功能
類(lèi)似cat,不過(guò)以一頁(yè)一頁(yè)形式顯示;局噶畎纯瞻祖I(space)往下一頁(yè)顯示,按返回鍵(back)往上一頁(yè)顯示,還有字符搜索功能(與vi相似)
參數(shù)
1)-num 一次顯示的行數(shù)
2)-d 提示使用者,在畫(huà)面下方顯示 [Press space to continue, ‘q’ to quit.] ,如果使用者按錯(cuò)鍵,則會(huì)顯示 [Press ‘h’ for instructions.] 而不是 ‘嗶’ 聲