【开发心得】Java常见日志排查方法。

1.tail

       1)     tail -f xxxx.log  查看日志文件的实时变动。

       2)     tail -500f xxxx.log 实施查看末尾500行的变动。

       3)        tail -5000 xxxx.log 查看末尾 5000行的变动 -n 是可选的。

       4)        tail -5000 xxxx.log > today.log 查看并且重定向文件中,方便down到本地查看。

2.grep

       grep forest f.txt     #文件查找
       grep forest f.txt cpf.txt #多文件查找
       grep 'log' /home/admin -r -n #目录下查找所有符合关键字的文件
       cat f.txt | grep -i shopbase
       grep 'shopbase' /home/admin -r -n --include *.{vm,java} #指定文件后缀
       grep 'shopbase' /home/admin -r -n --exclude *.{vm,java} #反匹配
       seq 10 | grep 5 -A 3    #上匹配  
       seq 10 | grep 5 -B 3    #下匹配
       seq 10 | grep 5 -C 3    #上下匹配
       cat f.txt | grep -c 'SHOPBASE'

3.awk

       基础用法

       awk '{print $4,$6}' f.txt
       awk '{print NR,$0}' f.txt cpf.txt
       awk '{print FNR,$0}' f.txt cpf.txt
       awk '{print FNR,FILENAME,$0}' f.txt cpf.txt
       awk '{print FILENAME,"NR="NR,"FNR="FNR,"$"NF"="$NF}' f.txt cpf.txt
       echo 1:2:3:4 | awk -F: '{print $1,$2,$3,$4}'

       匹配

       awk '/ldb/ {print}' f.txt   #匹配ldb
       awk '!/ldb/ {print}' f.txt  #不匹配ldb
       awk '/ldb/ && /LISTEN/ {print}' f.txt   #匹配ldb和LISTEN
       awk '$5 ~ /ldb/ {print}' f.txt #第五列匹配ldb

4. find

sudo -u admin find /home/admin /tmp /usr -name \*.log(多个目录去找)
find . -iname \*.txt(大小写都匹配)
find . -type d(当前目录下的所有子目录)
find /usr -type l(当前目录下所有的符号链接)
find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)
find /home/admin -size +250000k(超过250000k的文件,当然+改成-就是小于了)
find /home/admin f -perm 777 -exec ls -l {} \; (按照权限查询文件)
find /home/admin -atime -1  1天内访问过的文件
find /home/admin -ctime -1  1天内状态改变过的文件
find /home/admin -mtime -1  1天内修改过的文件
find /home/admin -amin -1  1分钟内访问过的文件
find /home/admin -cmin -1  1分钟内状态改变过的文件
find /home/admin -mmin -1  1分钟内修改过的文件

5.vim

vim 配合/ 搜索关键字  n 和 N 快速跳转到上/下一次出现的位置

posted @ 2020-07-10 20:04  虹梦未来  阅读(40)  评论(0编辑  收藏  举报  来源