查看Linux日志常用命令

1、查找包含某字符的文件有哪些?

grep -rl 'hello' /

r:代表递归指定目录下所有文件

l:代表只显示全路径文件名即可

例子:根据包含字符内容倒推有哪些文件,经常忘记文件存放到哪里的时候,可以采用该命令

2、根据文件名查找文件,并查找出所有文件中包含某字符的行

find / -type f -name "*.log" | xargs grep -i "Error"

type:代表查找文件类型,与参数f结合使用,代表查找普通文件类型

-name:指定查找文件名

xargs:分批次读取文件内容,不加xargs导致一次性读取文件过多,内存爆满

-i:查找内容时忽略大小写

例子:查找文件包含某些字符;

3、查找文件包含特定字符所在行内容

grep -i "content" fileName

-i:查找包含content内容所在行,i代表忽略大小写

4、查找文件中不匹配的字符串所在行内容

grep -v "content" fileName

-v:查找出不匹配的字符串内容

例子:看日志时,经常会打出Debug日志信息,此时我们不需要查看Debug信息,可以采用如下命令:grep -v -i "debug" fileName.log

5、查找文件中出现该字符串所在行的上下几行内容

grep -C 10 -i "content" fileName

-C:定位到匹配字符串前后几行内容,-C 10 输出匹配字符串所在行的同时,输出其上下10行内容

-i:忽略大小写

例子:比如看日志查找error时候,经常需要看error上下几行,定位error更详细原因,可以采用此命令

6、针对查找到的行信息进行切割操作awk、cut

awk -F "分隔符" '/pattern/{anction}' fileName

awk针对每一行内容进行切割操作

awk:默认采用空格进行切割

cut -d "分隔符" -f $0

cut:默认采用‘\t’制表符进行切割,针对多空格不好做切割操作

$0:输出所有分割字段内容

7、采用一条命令,查看某个进程并杀死

ps  -ef | grep "tomcat" | awk '{print "kill -9 "$2}' | sh

ps -ef:查找出所有的进程

grep "tomcat":过滤出tomcat进程,此处有坑,发现会出现两个进程信息,如下图第一个进程是因为执行grep命令产生的,所以我们需要过滤第一进程信息

查看Linux日志常用命令_第1张图片
查看java进程信息

上方命令需要进行改造:

ps -ef | grep "进程名" | grep -v "grep" | awk '{print "kill -9 "$2}' | sh

grep  -v:还记得作用是啥?不记得请看上文

awk:默认以空格进行分割,'{print "kill  -9 " $2}' 打印分割后的第2个字段值,即kill  -9  83097进程号id

sh:执行awk打印出来的命令

查看Linux日志常用命令_第2张图片
杀死java进程

至此,通过上方命令即可实现查找java进程并进行杀死。

8、查看某个端口号的情况

lsof  -i:端口号

例如:lsof  -i:8080  查看8080端口号占用情况,一般服务启动成功后都需要查看下进程或端口号来确认

你可能感兴趣的:(查看Linux日志常用命令)