Linux日志查找


當你不確定文件是否在該文件夾下時,可以通過ll ls cd查看。

ll                   查看當前文件夾下的所有信息

ls  -a               查看所有文件 包含隱藏文件(前面加 . 的文件)

ls                   查看所有文件 不包含隱藏文件

cd 文件夾           進入當前文件夾下的文件夾

cd 文件夾完整路徑   直接進入某個路徑下的文件夾

cd  ..               返回上一級

cd                  返回根目錄

 

Find

你僅記得日志部分文件(夾)名時可以用find查找

基本語法:find 路徑 -name  ‘*a*’

find  ./  -name  ‘*a*’  在當前路徑(./)查找名字包含a的所有文件及文件夾

find  /home/test010/hanhan  -name  ‘*txt’ 

查找在hanhan文件夾中所有以TXT結尾的文件和文件夾

find  ./  -name  ‘*aaa*’  -type d

在當前路徑下查找名之中包含aaa的文件夾

-type d 是找文件夾  -type  f 是找文件

find  ./  -name  ‘*aaa*’  |xargs  grep 1234

在當前路徑下查找名字包含aaa的文件 且把文件內容包含1234的找(過濾)出來

find  /home/test010/hanhan  -name  ‘*txt’ | xargs  rm     

在hanhan 路徑下查找名字以txt 結尾的文件並批量執行刪除

find /home/test050/test1/ -name 'test.log' |xargs -I FILE cp FILE /home/test050/222/123.log

在test1 文件夾下面 查找一個名字為test.log的文件 並把它備份到222文件夾下面且重命名為123.log  (其中 xargs -I為格式 I必須大寫 cp 兩端的 file 可以自己取,只要保持一致即可)

 

Grep過濾

知道日志具體報錯信息及日志名可以用find快速查找(使用較多)

grep  ‘Null pointer exception’  /home/test010/messagepush.txt

在此路徑下的messagepush.txt 文件中過濾出來Null pointer exception4(場景舉例 訂單出錯可查訂單號,具體報錯信息)

grep  -n  ‘Null pointer exception’  /home/test010/messagepush.txt

在此路徑下的messagepush.txt 文件中過濾出來Null pointer exception 並顯示所在行號

grep 'Null pointer exception'  /home/test011/webmessage/messagepush.txt  - -color  -C3(--color  寫成 --col )

把日志文件 messagepush.txt (完整路徑)里面的Null pointer exception 過濾出來並且用顏色標記,並且顯示附近的3行(顯示本行及本行的上下三行)其中C3 的C必須大寫,-C3使用較多,因為僅有報錯信息可能無法分析出具體的問題,需要關注其上下的日志進行協助分析。

tail,head

當你僅記得日志的大概位置的時候可以用tail head

tail  -f b.log 查看動態日志(可跟絕對路徑)    (ctrl+c強制退出)

tail  -100f  b.log 查看最近100行的動態日志(打印最新日志,這個使用也比較多)

tail -n 3 b.log 顯示最后三行的日志

head -n 3 b.log 顯示前三行的日志

tail -n +3 b.log 從第三行開始顯示以后的日志

head -n -2 b.log 顯示除了最后兩行的所有日志

sed

你記得報錯日志大概位置,或大概時間可以用sed

sed -n ‘3,18p’ article.log               查詢出article.log 文件里面的第三行到第18行日志

sed -n ‘18p’ article.log                 查詢出article.log 文件里面的第18行日志

sed -n '/2018-07-30 09:29:55/,/2018-07-30 09:31:55/p' article.log

查詢2018-07-30 09:29:55到2018-07-30 09:31:55時間段之間的日志

sed  -i  ‘s/6666/9999/g’ article.log

把article.log 里面的6666批量替換成9999

cat

cat  aaa .txt |grep -E  ‘123|456|789’   同時過濾 123,456,789三個字段

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM