Linux查看log日志命令的方式總結(jié)
動(dòng)態(tài)實(shí)時(shí)查看日志
企業(yè)項(xiàng)目都運(yùn)行在Linux環(huán)境,熟悉Linux環(huán)境下的日志查看結(jié)合遠(yuǎn)程調(diào)試端口及時(shí)排查程序bug,是后端程序員需掌握的必備技能。
Tail the log file是運(yùn)維同學(xué)的口頭禪,tail命令是最常用的查看日志語句,以日志文件server.log為例
1.tail -f filename
tail -f server.log實(shí)時(shí)展示日志末尾內(nèi)容,默認(rèn)最后10行,相當(dāng)于增加參數(shù) -n 10
tail -f server.log
退出tail命令
Ctrl+c
tail命令擴(kuò)展
查看日志最后20行內(nèi)容并實(shí)時(shí)更新日志
tail -f -n 20 server.log
查看日志正數(shù)20行內(nèi)容
tail -n +20 server.log
2.追蹤特定內(nèi)容日志
tail 命令可以實(shí)時(shí)查看文件內(nèi)容的變化。但是當(dāng)項(xiàng)目日志實(shí)時(shí)更新內(nèi)容特別多時(shí),需要查看的列往往時(shí)一閃而過,在快速更新的大量日志中查詢關(guān)鍵列非常不方便,這是就需要tail命令與grep命令連用。
追蹤需要展示的特定信息,以查看固定線程http-nio-8091-exec-7為例:
tail -f log_file | grep ‘http-nio-8091-exec-7'
擴(kuò)展內(nèi)容
-C 選項(xiàng)來顯示檢索結(jié)果的前后幾行,-A 選項(xiàng)展示檢索結(jié)果后幾行,-B選項(xiàng)展示檢索結(jié)果前幾行
tail -f log_file | grep -C 5 ‘http-nio-8091-exec-7'
cat關(guān)鍵字搜索
cat 區(qū)別于tail是對(duì)日志進(jìn)行全文搜索,其中-n的作用是顯示行號(hào)
cat -n filename |grep “http-nio-8091-exec-7”
擴(kuò)展內(nèi)容
-C 選項(xiàng)來顯示檢索結(jié)果的前后幾行,-A 選項(xiàng)展示檢索結(jié)果后幾行,-B選項(xiàng)展示檢索結(jié)果前幾行
cat -n log_file | grep -C 5 ‘http-nio-8091-exec-7'
查看整體的日志操作
1.less命令
less 命令多用于讀取文本文件,也可用于讀取實(shí)時(shí)被更改的文件。ctrl +c 中斷實(shí)時(shí)讀取顯示,按 q 會(huì)退出less視圖
選項(xiàng) +F 可以實(shí)時(shí)跟蹤文件的更改:
less +F log_file
- 第一步:打開日志文件
less sigma.log
- 第二步:定位到日志文件的最后一行:
shift+g 移動(dòng)到最后一行
- 第三步:
ctrl+b 往前一頁一頁翻頁查看
參考:
1.全屏導(dǎo)航
- ctrl + F - 向前移動(dòng)一屏
- ctrl + B - 向后移動(dòng)一屏
- ctrl + D - 向前移動(dòng)半屏
- ctrl + U - 向后移動(dòng)半屏
2.單行導(dǎo)航
- j - 向前移動(dòng)一行
- k - 向后移動(dòng)一行
3.其它導(dǎo)航
- G - 移動(dòng)到最后一行
- g - 移動(dòng)到第一行
- q / ZZ - 退出 less 命令
2.vim編輯模式查看日志
對(duì)于編輯模式操作日志文件,因?yàn)槭煜ち鞒淘蛞膊皇橐粋€(gè)好方法
- /關(guān)鍵字 注:正向查找,按n鍵把光標(biāo)移動(dòng)到下一個(gè)符合條件的地方
- ?關(guān)鍵字 注:反向查找,按shift+n 鍵,把光標(biāo)移動(dòng)到下一個(gè)符合條件的
下載日志文件
1.獲取docker中的容器編號(hào)
通過docker查看日志需要先知道docker中的容器編號(hào)CONTAINER ID
通過命令sudo docker ps
或者sudo docker container ls -a
任意一個(gè)都可以
2.進(jìn)入到我們的項(xiàng)目中,會(huì)有個(gè)日志文件,記錄我們所需要的日志文件的名字路徑
sudo docker exec -it CONTAINER ID sh
3.退出docker容器
exit
4.把容器里第2步查出來的文件路徑的文件拷貝到服務(wù)器里的任一目錄上
sudo docker container cp CONTAINER ID:/opt/logs/2020-02/zjapp-2020-02-10.log /home/brain/zjapp-2020-02-10.log
這里比較麻煩,還是希望一開始就可以掛載好服務(wù)器目錄文件
或者使用遠(yuǎn)程連接工具拖拽下載
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Linux工具之Nethogs按進(jìn)程監(jiān)控網(wǎng)絡(luò)帶寬的安裝部署
NetHogs是一個(gè)小型的net top工具,不像大多數(shù)工具那樣拖慢每個(gè)協(xié)議或者是每個(gè)子網(wǎng)的速度而是按照進(jìn)程進(jìn)行帶寬分組,這篇文章主要介紹了Linux工具Nethogs按進(jìn)程監(jiān)控網(wǎng)絡(luò)帶寬,值得收藏,需要的朋友可以參考下2019-07-07如何監(jiān)控 Linux 服務(wù)器狀態(tài)的方法
這篇文章主要介紹了如何監(jiān)控 Linux 服務(wù)器狀態(tài)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06linux系統(tǒng)下如何掛載NTFS移動(dòng)硬盤
用命令行掛載移動(dòng)硬盤是Linux的基本操作之一,雖然目前有些Linux系統(tǒng)能自動(dòng)加載移動(dòng)硬盤,但有些時(shí)候(比如使用Ubuntu Server或其它Linux系統(tǒng)的時(shí)候)仍然需要手動(dòng)操作,下面這篇文章主要介紹了linux系統(tǒng)下如何掛載NTFS移動(dòng)硬盤,需要的朋友可以參考借鑒。2017-01-01覆蓋原先的PATH導(dǎo)致命令失效提示command not found的解決方法
今天小編就為大家分享一篇關(guān)于覆蓋原先的PATH導(dǎo)致命令失效提示command not found的解決方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03linux用戶source .bashrc或.profile找不到文件的解決
這篇文章主要介紹了linux用戶source .bashrc或.profile找不到文件的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04詳解Linux系統(tǒng)中的tempfs與/dev/shm
/dev/shm是Linux非常有用的一個(gè)目錄,它就是所謂的tmpfs,也可以稱之為臨時(shí)文件系統(tǒng)(不是塊設(shè)備),類似oracle中的臨時(shí)表空間一樣,用于加速和優(yōu)化系統(tǒng)。下面這篇文章主要給大家介紹了Linux系統(tǒng)中tempfs與/dev/shm的相關(guān)資料,需要的朋友可以參考下。2017-02-02centos7系統(tǒng)部署k8s集群詳細(xì)介紹
大家好,本篇文章主要講的是centos7系統(tǒng)部署k8s集群詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12