日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux环境下查看日志文件命令详解

發布時間:2024/3/12 linux 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux环境下查看日志文件命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄:

  • 前言
  • cat命令
  • more命令
  • less命令
  • head命令
  • tail命令
  • tac命令
  • echo命令
  • grep命令
  • sed命令
  • 混合命令
  • 附加

前言:

當日志存儲文件很大時,我們就不能用 vi 直接去查看日志了,就需要Linux的一些內置命令去查看日志文件.

系統Log日志位置:

/var/log/message 系統啟動后的信息和錯誤日志,是Red Hat Linux中最常用的日志之一

/var/log/secure 與安全相關的日志信息

/var/log/maillog 與郵件相關的日志信息

/var/log/cron 與定時任務相關的日志信息

/var/log/spooler 與UUCP和news設備相關的日志信息

/var/log/boot.log 守護進程啟動和停止相關的日志消息

cat命令:

參數:

-n 或 --number 由 1 開始對所有輸出的行數編號

-b 或 --number-nonblank 和 -n 相似,只不過對于空白行不編號

-s 或 --squeeze-blank 當遇到有連續兩行以上的空白行,就代換為一行的空白行

-v 或 --show-nonprinting

-E --show-ends 在每行結束處顯示 $

-e --等價于-vE

cat主要有三大功能:

1. $ cat filename 一次顯示整個文件。

2. $ cat > filename 從鍵盤創建一個文件。(只能創建新文件,不能編輯已有文件)

3. $ cat filename1 filename2 > filename 將幾個文件合并為一個文件(如果原本file文件中有內容,會被覆蓋掉)?

例:

把 file1 的內容加上行號后輸入到 file2 這個文件里?

cat -n filename1 > filename2

把 file1 和 file2 的內容加上行號(空白行不加)之后將內容追加到 file3 里

cat -b filename1 filename2 >> filename3?

把test.txt文件扔進垃圾箱,賦空值test.txt

cat /dev/null > /etc/test.txt??

注意:>意思是創建,>>是追加。千萬不要弄混了。?

more命令:

more 命令是一個基于vi編輯器文本過濾器,它以全屏幕的方式按頁顯示文本文件的內容,支持vi中的關鍵字定位操作。

該命令一次顯示一屏文本信息,滿屏后停下來,以百分比的形式,以上下翻頁,以上下行移動顯示查看日志并且在屏幕

的底部給出一個提示信息,從開始至當前己顯示的該文件的百分比:–More–(XX%)

?**按鍵**說明**

?按Space鍵:顯示文本的下一屏內容。

?按B鍵:顯示上一屏內容。

?按Enter鍵:只顯示文本的下一行內容。

?按斜線符:接著輸入一個模式,可以在文本中尋找下一個相匹配的模式。

?按H鍵:顯示幫助屏,該屏上有相關的幫助信息。

?按Q鍵:退出more命令

less命令:

less 命令查看日志,和more命令類似,只不過less支持上下鍵前后翻閱文件。

head命令:

參數:

-q 隱藏文件名

-v 顯示文件名

-c 顯示字節數

-n 顯示的行數

從文本文件的頭部開始查看,head 命令用于查看一個文本文件的開頭部分。

例:

head filename 或 head -n 10 顯示文本文件 file 的前十行內容,然后退出命令

head -n 20 filename 顯示文本文件 file 的前二十行內容

head -n -10 filename 顯示文本文件除了最后10行的其他所有文本文件信息

tail命令:

tail 命令用于顯示文本文件的末尾內容(默認10行,相當于增加參數 -n 10),并且實時不斷有內容被打印出來,

??若想中斷進程,使用命令 Ctrl-C

參數:

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]

參數解釋:

-f 該參數用于監視File文件增長。

-c Number 從 Number 字節位置讀取指定文件

-n Number 從 Number 行位置讀取指定文件。

-m Number 從 Number 多字節字符位置讀取指定文件,比方你的文件假設包括中文字,假設指定-c參數,可能導致截斷,但使用-m則會避免該問題。

-b Number 從 Number 表示的512字節塊位置讀取指定文件。

-k Number 從 Number 表示的1KB塊位置讀取指定文件。

File 指定操作的目標文件名稱

上述命令中,都涉及到number,假設不指定,默認顯示10行。Number前面可使用正負號,表示該偏移從頂部還是從尾部開始計算。

tail 可運行文件一般在/usr/bin/以下。

tail -f filename 監視filename文件的尾部內容(默認10行,相當于增加參數 -n 10)

tail -100f filename 監視filename文件的尾部內容(默認從底部往前100行,相當于增加參數 -n 100)

tail -n 20 filename 顯示filename最后20行

tail -r -n 10 filename 逆序顯示filename最后10行

tac命令:

tac (反向查看日志,會打開整個文件,倒序顯示,不常用)

tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反。

cat 是由第一行到最后一行連續顯示在屏幕上,而 tac 則是由最后一行到第一行反向在螢幕上顯示出來

echo命令:

echo 命令用來在標準輸出上顯示一段字符

echo [ -n ] 字符串其中選項n表示輸出文字后不換行;字符串能加引號,也能不加引號

echo "the echo command test!"

echo "the echo command test!">filename 輸出內容到文件

用 echo 命令輸出加引號的字符串時,將字符串原樣輸出

用 echo 命令輸出不加引號的字符串時,將字符串中的各個單詞作為字符串輸出,各字符串之間用一個空格分割

grep命令:

grep 同時滿足多個關鍵字和滿足任意關鍵字,是一種強大的文本搜索工具,它能使用正則表達式搜索文本,并把匹配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,顯示完自動退出命令

grep [options]?

參數:?

[options]參數:?

-c:只輸出匹配行的計數

-I:不區分大小寫(只適用于單字符)

-h:查詢多文件時不顯示文件名

-l:查詢多文件時只輸出包含匹配字符的文件名

-n:顯示匹配行及行號

-s:不顯示不存在或無匹配文本的錯誤信息

-v:顯示不包含匹配文本的所有行

-A: 顯示匹配行及前面多少行, 如: -A3, 則表示顯示匹配行及前3行

-B: 顯示匹配行及后面多少行, 如: -B3, 則表示顯示匹配行及后3行

-C: 顯示匹配行前后多少行, 如: -C3, 則表示顯示批量行前后3行

pattern正則表達式主要參數:?

: 忽略正則表達式中特殊字符的原有含義

^:匹配正則表達式的開始行

$: 匹配正則表達式的結束行

<:從匹配正則表達 式的行開始

>:到匹配正則表達式的行結束

[ ]:單個字符,如[A]即A符合要求

[ - ]:范圍,如[A-Z],即A、B、C一直到Z都符合要求

。:所有的單個字符

- :有字符,長度可以為0

grep -n "word" filename 查看文件包含條件的日志,全部顯示出來(單引號或者雙引號都可以,不區分)

grep -E "word1|word2|word3" filename 滿足任意條件(word1、word2和word3之一)將匹配的內容全部打印出來

grep word1 filename | grep word2 |grep word3 必須同時滿足三個條件(word1、word2和word3)才匹配多管道,多次篩選

使用正則表達式 -E 選項

grep -E "[1-9]+" 或 egrep "[1-9]+"

grep -A100 'word' filename 顯示匹配行往后100行

grep -B100 'word' filename 顯示匹配行往前100行

grep -C100 'word' filename 顯示匹配行往前往后100行

sed命令:

sed 本身是一個管道命令,主要是以行為單位進行處理,可以將數據行進行替換、刪除、新增、選取等特定工作

參數

-n∶使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN的資料一般都會被列出到螢幕上。但如果加上 -n 參數后,則只有經過sed 特殊處理的那一行(或者動作)才會被列出來。

-p ∶列印,亦即將某個選擇的資料印出。通常 p 會與參數 sed -n 一起運作~

-s ∶取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g

sed -n '5,10p' filename 只查看文件的第5行到第10行

sed -n '/2019-01-04 21:30:00/,/2019-01-04 22:30:30/p' filename 只查看文件包含時間段的區間內容

混合命令:

tail -n +92表示查詢92行之后的日志

tail filename -n 300 -f 查看底部即最新300條日志記錄,并實時刷新

tail -f filename | grep -E 'word1|word2|word3' 實時打印出匹配規則的文件內容(注意或符號前后最好不要有空格)

cat -n filename |grep “地形” | more 得到關鍵日志的行號

cat -n filename |tail -n +92|head -n 20

grep 'nick' | tail filename -C 10 查看字符‘nick'前后10條日志記錄, 大寫C

head -n 20 則表示在前面的查詢結果里再查前20條記錄

附加:

vi filename 查看或編輯文件

查找文件內容關鍵字方法:

先 執行命令>:? vi????? filename

然后輸入>:?? /查找字符串

按n查找下一個

如查找nohup.out日志文件的error關鍵字:

執行命令:???????? vi? nohup.out

輸入以下回車:????? /error

按n查找下一個

將實時日志打印到指定文件:

將實時日志打印到文件newlog.log內,方便查找

執行命令:?? tail? -f? nohup.out?? >newlog.log

備注:newlog.log文件可以不存在,命令執行時會自動新建

總結

以上是生活随笔為你收集整理的Linux环境下查看日志文件命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。