當你不確定文件是否在該文件夾下時,可以通過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三個字段