java问题排查--Linux命令

一、grep操作 

 1 # 基本使用
 2 grep yoursearchkeyword f.txt     #文件查找
 3 grep 'KeyWord otherKeyWord' f.txt cpf.txt #多文件查找, 含空格加引号
 4 grep 'KeyWord' /home/admin -r -n #目录下查找所有符合关键字的文件
 5 grep 'keyword' /home/admin -r -n -i # -i 忽略大小写
 6 grep 'KeyWord' /home/admin -r -n --include *.{vm,java} #指定文件后缀
 7 grep 'KeyWord' /home/admin -r -n --exclude *.{vm,java} #反匹配
 8 
 9 # cat + grep
10 cat f.txt | grep -i keyword # 查找所有keyword且不分大小写  
11 cat f.txt | grep -c 'KeyWord' # 统计Keyword次数
12 
13 # seq + grep
14 seq 10 | grep 5 -A 3    #上匹配
15 seq 10 | grep 5 -B 3    #下匹配
16 seq 10 | grep 5 -C 3    #上下匹配,平时用这个就妥了

grep参数

--color=auto:显示颜色;
-i, --ignore-case:忽略字符大小写;
-o, --only-matching:只显示匹配到的部分;
-n, --line-number:显示行号;
-v, --invert-match:反向显示,显示未匹配到的行;
-E, --extended-regexp:支持使用扩展的正则表达式;
-q, --quiet, --silent:静默模式,即不输出任何信息;
-w, --word-regexp:整行匹配整个单词;
-c, --count:统计匹配到的行数; print a count of matching lines;

-B, --before-context=NUM:print NUM lines of leading context   后#行 
-A, --after-context=NUM:print NUM lines of trailing context   前#行 
-C, --context=NUM:print NUM lines of output context           前后各#行 

文件监听 tail

# 基本使用
tail -f xxx.log # 循环监听文件
tail -300f xxx.log #倒数300行并追踪文件
tail +20 xxx.log #从第 20 行至文件末尾显示文件内容

# tail f使用
tailf xxx.log #等同于tail -f -n 10 打印最后10行,然后追踪文件
`tail  -f `  等于--follow=descriptor,根据文件描述进行追踪,当文件改名或删除后,停止追踪。
`tail -F` 等于 --follow=name ==retry,根据文件名字进行追踪,当文件改名或删除后,保持重试,当有新的文件和他同名时,继续追踪
`tailf` 等于tail -f -n 10(tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。

-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

文件查找 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分钟内修改过的文件

 

posted @ 2022-09-13 11:01  蹉~跎  阅读(64)  评论(0)    收藏  举报