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