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三个字段