Linux查看日志的命令有很多,比如tail、cat、tac、head、echo等,今天給大家介紹幾種常用的方法:
網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了尋烏免費(fèi)建站歡迎大家使用!
1、tail-實(shí)時(shí)查看變化的日志
命令格式:tail [必要參數(shù)][選擇參數(shù)][文件]
-f:循環(huán)讀取
-q:不顯示處理信息
-v:顯示詳細(xì)的處理信息
-c數(shù)目:顯示的字節(jié)數(shù)
-n行數(shù):顯示行數(shù)
-q, --quiet, --silent:從不輸出給出文件名的首部
-s, --sleep-interval=S:與-f合用,表示在每次反復(fù)的間隔休眠S秒
2、head
跟tail相反,head是看日志的前多少行
head -n 10 test.log:查詢(xún)?nèi)罩疚募械那?0行日志;
head -n -10 test.log:查詢(xún)?nèi)罩疚募俗詈?0行的其他所有日志;
3、cat-搜索關(guān)鍵字附近的日志
cat是由第一行到最后一行連續(xù)顯示在屏幕上
最常用的命令:cat -n filename | grep "關(guān)鍵字"
cat app.log | grep -C 5 '關(guān)鍵字':顯示日志里匹配字串那行以及前后5行;
cat app.log | grep -B 5 '關(guān)鍵字':顯示匹配字串及前5行;
cat app.log | grep -A 5 '關(guān)鍵字':顯示匹配字串及后5行;
4、more
more命令是一個(gè)基于vi編輯器文本過(guò)濾器,它以全屏幕的方式按頁(yè)顯示文本文件的內(nèi)容,支持vi中的關(guān)鍵字定位操作。
more的語(yǔ)法:more 文件名
last
-a 把從何處登入系統(tǒng)的主機(jī)名稱(chēng)或ip地址,顯示在最后一行。
-d 指定記錄文件。指定記錄文件。將IP地址轉(zhuǎn)換成主機(jī)名稱(chēng)。
-f 記錄文件 指定記錄文件。
-n 顯示列數(shù)或-顯示列數(shù) 設(shè)置列出名單的顯示列數(shù)。
-R 不顯示登入系統(tǒng)的主機(jī)名稱(chēng)或IP地址。
-x 顯示系統(tǒng)關(guān)機(jī),重新開(kāi)機(jī),以及執(zhí)行等級(jí)的改變等信息
以下看所有的重啟、關(guān)機(jī)記錄
last | grep reboot
last | grep shutdown
history
列出所有的歷史記錄:
[zzs@Linux] # history
只列出最近10條記錄:
[zzs@linux] # history 10 (注,history和10中間有空格)
使用命令記錄號(hào)碼執(zhí)行命令,執(zhí)行歷史清單中的第99條命令
[zzs@linux] #!99 (!和99中間沒(méi)有空格)
重復(fù)執(zhí)行上一個(gè)命令
[zzs@linux] #!!
執(zhí)行最后一次以rpm開(kāi)頭的'命令(!? ?代表的是字符串,這個(gè)String可以隨便輸,Shell會(huì)從最后一條歷史命令向前搜索,最先匹配的一條命令將會(huì)得到執(zhí)行。)
[zzs@linux] #!rpm
逐屏列出所有的歷史記錄:
[zzs@linux]# history | more
立即清空history當(dāng)前所有歷史命令的記錄
[zzs@linux] #history -c
cat, tail 和 watch
系統(tǒng)所有的日志都在 /var/log 下面自己看(具體用途可以自己查,附錄列出一些常用的日志)
cat /var/log/syslog 等
cat /var/log/*.log
tail -f
如果日志在更新,如何實(shí)時(shí)查看 tail -f /var/log/messages
還可以使用 watch -d -n 1 cat /var/log/messages
-d表示高亮不同的地方,-n表示多少秒刷新一次。
該指令,不會(huì)直接返回命令行,而是實(shí)時(shí)打印日志文件中新增加的內(nèi)容,
這一特性,對(duì)于查看日志是非常有效的。如果想終止輸出,按 Ctrl+C 即可。
除此之外還有more, less ,dmesg|more,這里就不作一一列舉了,因?yàn)槊钐嗔?關(guān)鍵看個(gè)人喜好和業(yè)務(wù)需求.個(gè)人常用的就是以上那些
linux日志文件說(shuō)明
/var/log/message 系統(tǒng)啟動(dòng)后的信息和錯(cuò)誤日志,是Red Hat Linux中最常用的日志之一
/var/log/secure 與安全相關(guān)的日志信息
/var/log/maillog 與郵件相關(guān)的日志信息
/var/log/cron 與定時(shí)任務(wù)相關(guān)的日志信息
/var/log/spooler 與UUCP和news設(shè)備相關(guān)的日志信息
/var/log/boot.log 守護(hù)進(jìn)程啟動(dòng)和停止相關(guān)的日志消息
/var/log/wtmp 該日志文件永久記錄每個(gè)用戶(hù)登錄、注銷(xiāo)及系統(tǒng)的啟動(dòng)、停機(jī)的事件
啟動(dòng)之后,會(huì)在jar所在目錄生成一個(gè)nuhup.log日志文件,記錄控制臺(tái)的日志輸出。
備注:主要看符號(hào)兩邊: "" 對(duì)應(yīng)輸出什么和輸出到哪里;
輸出分為標(biāo)準(zhǔn)輸出和錯(cuò)誤輸出,標(biāo)準(zhǔn)輸出就是全輸出,輸出控制臺(tái)信息;錯(cuò)誤輸出只是輸出錯(cuò)誤日志信息;
因此上面我們執(zhí)行的 ***.jar nohup.log 21命令,可以拆解成 nohup.log 和 2 1兩個(gè)輸出,只看符號(hào)“”左邊輸出部分,分別代表默認(rèn)標(biāo)準(zhǔn)輸出到一個(gè)地方,然后錯(cuò)誤日志輸出到另一個(gè)地方,咱們后面再講輸出到什么地方。
輸出到哪,分為輸出到指定路徑日志文件和重定向位置。
1.指定路徑:如下: /data/work/log.log 這樣便是指定輸出到路徑/data/work/log.log文件。
Linux上有一個(gè)特例路徑/dev/null ,這路徑就好像永久刪除的回收站,當(dāng)我們不需要輸出任何信息時(shí),就可以將輸出指向/dev/null,那就不會(huì)有任何輸出文件。
2.至于重定向,就是將文件重定向到一個(gè)地址,如下:
1 重定向到標(biāo)準(zhǔn)輸出的地址,啥意思,就是輸出到已指定的標(biāo)準(zhǔn)輸出的地址。
2 重定向到錯(cuò)誤輸出的地址,就是輸出到已指定的錯(cuò)誤輸出的地址。
比如nohup.log 21 ,意思是前面默認(rèn)標(biāo)準(zhǔn)輸出到了nohup.log日志下,后面錯(cuò)誤輸出也指向標(biāo)準(zhǔn)輸出的地址,也即nohup.log日志下。
命令后面加的 ,可讓命令在后臺(tái)執(zhí)行,否則關(guān)閉會(huì)話會(huì)停止程序。
(1)nohup java -jar ***.jar /data/log.log 2/data/err.log
解釋?zhuān)簶?biāo)準(zhǔn)日志輸出到/data/log.log文件,錯(cuò)誤日志輸出到/data/err.log文件。
(2)nohup java -jar ***.jar /data/log.log 21
解釋?zhuān)簶?biāo)準(zhǔn)日志輸出到/data/log.log文件,錯(cuò)誤日志重定向也輸出到/data/log.log文件。
(3)nohup java -jar ***.jar /dev/null 2/data/err.log
解釋?zhuān)簶?biāo)準(zhǔn)日志輸出到/dev/null,也就是不輸出標(biāo)準(zhǔn)日志,錯(cuò)誤日志輸出到/data/err.log文件。
一般采用上面(3)只輸出錯(cuò)誤日志就可以了,有需要的按照(1)進(jìn)行輸出。
具體如下:
1.首先為了演示應(yīng)用程序輸出信息,這里我們選擇tomcat的日志輸出文件來(lái)演示,當(dāng)然也可以選擇您自己任意的應(yīng)用程序。這里我們連接上linux服務(wù)器之后,cd命令切換到tomcat的logs目錄
2.要想自動(dòng)打印顯示出程序輸出信息,這里需要使用到tail命令,首先我們使用mantail命令查看下tail命令的幫助信息。tail命令是默認(rèn)打印最后10行信息,從幫助信息中,可以看到-f跟隨的意思,就是在有新的輸出信息的...
3.輸入tail-fcatalina.out,從打印信息中可以看出,默認(rèn)輸出了最后的10行信息,并且命令沒(méi)有退出,等待新的信息輸出,這個(gè)時(shí)候如果程序有新的輸出,會(huì)自動(dòng)打印出來(lái)
4.tail命令默認(rèn)一開(kāi)始是顯示之前的10行,如果不夠的話,可以指定,這里可以輸入tail-40fcatalina.out
文章題目:linux命令日志輸出 linux指定日志輸出
文章來(lái)源:http://vcdvsql.cn/article22/hepdcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站收錄、域名注冊(cè)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)