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命令是最常用的查看日志語(yǔ)句,以日志文件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ò),在快速更新的大量日志中查詢關(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)來(lái)顯示檢索結(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)來(lái)顯示檢索結(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
- 第一步:打開(kāi)日志文件
less sigma.log
- 第二步:定位到日志文件的最后一行:
shift+g 移動(dòng)到最后一行
- 第三步:
ctrl+b 往前一頁(yè)一頁(yè)翻頁(yè)查看
參考:
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)
通過(guò)docker查看日志需要先知道docker中的容器編號(hào)CONTAINER ID
通過(guò)命令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步查出來(lái)的文件路徑的文件拷貝到服務(wù)器里的任一目錄上
sudo docker container cp CONTAINER ID:/opt/logs/2020-02/zjapp-2020-02-10.log /home/brain/zjapp-2020-02-10.log
這里比較麻煩,還是希望一開(kāi)始就可以掛載好服務(wù)器目錄文件
或者使用遠(yuǎn)程連接工具拖拽下載
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux jexus服務(wù)設(shè)置開(kāi)機(jī)啟動(dòng)
這篇文章主要為大家詳細(xì)介紹了linux jexus服務(wù)設(shè)置開(kāi)機(jī)啟動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Linux修改ssh默認(rèn)端口22為其他端口2024實(shí)現(xiàn)方式
本文介紹如何修改SSH端口:編輯sshd_config文件將端口改為2024,重啟服務(wù)失敗時(shí)需調(diào)整SELinux策略放行該端口,并關(guān)閉防火墻或更新防火墻規(guī)則,最后通過(guò)新端口測(cè)試連接2025-07-07
ssh修改超時(shí)自動(dòng)登出時(shí)間的方法
這篇文章主要介紹了關(guān)于linux中ssh超時(shí)自動(dòng)登出時(shí)間的設(shè)置方法,以避免總是被強(qiáng)行退出。需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-02-02
Linux YUM倉(cāng)庫(kù)及NFS共享服務(wù)方式
YUM(Yellowdog Updater Modified)是基于RPM包的軟件包管理器,專(zhuān)門(mén)用于解決軟件包的依賴關(guān)系,支持通過(guò)FTP、HTTP服務(wù)或本地目錄從集中的YUM軟件倉(cāng)庫(kù)獲取軟件包,YUM能夠自動(dòng)處理包依賴問(wèn)題,簡(jiǎn)化了軟件安裝和更新過(guò)程2024-09-09
Ubuntu24.04配置國(guó)內(nèi)源的操作步驟
Ubuntu 24.04 LTS(代號(hào) Noble Numbat)作為最新的長(zhǎng)期支持版本,在國(guó)內(nèi)使用時(shí)經(jīng)常遇到兩個(gè)常見(jiàn)問(wèn)題:軟件包下載速度慢,所以本文我主要是整理一下配置國(guó)內(nèi)源的操作步驟,需要的朋友可以參考下2025-07-07
Linux硬盤(pán)合并的實(shí)現(xiàn)代碼
這篇文章主要介紹了Linux硬盤(pán)合并的實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

