不管是開(kāi)發(fā)蚣常、測(cè)試、還是運(yùn)維沸停,查詢服務(wù)器上的日志信息是經(jīng)常要做的良狈,以下就列出了幾個(gè)比較常用的查詢?nèi)罩镜拿睢?/p>
1. tail -f log.txt? ? ?這個(gè)是我們最常用的一個(gè)命令了,-f表示循環(huán)讀取黍特,也就是實(shí)時(shí)查看正在改變的日志文件蛙讥,日志文件的改動(dòng)都會(huì)展示在你的眼前
2. cat log.txt? ? ? ? 這也是我們常用的一個(gè)命令,但這個(gè)命令不能實(shí)時(shí)查看正在改動(dòng)的日志灭衷,它會(huì)將該日志全部?jī)?nèi)容展示出來(lái)(截止到命令生效那一刻的全部?jī)?nèi)容)键菱,如果這個(gè)日志內(nèi)容較多的話,這個(gè)命令就一點(diǎn)都不好用了今布;
另外 cat -n log.txt可以用來(lái)顯示行號(hào)(包含空行)经备,cat -b logx.txt 也可以用來(lái)顯示行號(hào)(不包含空行);
3. tail -n 5 log.txt? ? ? ?顯示日志尾部最后5行的數(shù)據(jù)
? ? tail -n +5 log.txt? ? ?顯示日志5行之后的數(shù)據(jù)
? ? head -n 5 log.txt? ? 顯示日志文件中頭5行的數(shù)據(jù)
? ? head -n -5 log.txt? ?顯示日志文件中除了最后5行的其它數(shù)據(jù)
以上這四個(gè)命令用的比較多部默,而且也好用侵蒙,尤其是那種內(nèi)容很多的日志文件
4. 查詢兩個(gè)時(shí)間段內(nèi)的日志
sed -n '/YYYY-MM-DD hh:mm:ss/,/YYYY-MM-DD hh:mm:ss/p' log.txt
這個(gè)命令的前提是你的日志中能顯示時(shí)間,就利用日志中的兩個(gè)時(shí)間進(jìn)行查詢
5. cat -n log.txt | grep 'abc' > test.txt
改命令中“>”才是重點(diǎn)傅蹂,意思是將該查詢條件下的日志信息導(dǎo)入到test文件中纷闺,這個(gè)命令用來(lái)記錄較大日志文件的部分內(nèi)容,因?yàn)槿罩緝?nèi)容較大份蝴,查詢或者做其它操作很不方便犁功,這時(shí)就可以將要查的內(nèi)容導(dǎo)入到另一個(gè)文檔中,再進(jìn)行下一步的查詢操作婚夫,這樣就方便多了浸卦。