软件测试学习笔记丨服务端问题定位常用 linux 指令集合
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29810
1、找到服务运行路径
指令:
ps -ef | grep XXX
//通过关键字 XXX,获取进程信息,查看进程的 PID 编号
ll /proc/PID
//通过 PID 编号,获取 CWD 信息,查看程序的运行路径
2、动态跟踪日志,过滤关键字和反向过滤关键字
指令:
tail -f XXX.log | grep AAA
//动态跟踪 XXX.log 日志,只查看包含了 AAA 关键字的日志
tail -f XXX.log| grep -v BBB
//动态跟踪 XXX.log 日志,同时不查看包含了 BBB 关键字的日志。
3、查看某个端口是否被占用
大量服务是通过端口号做区分,可以使用指令查看某一个端口号,是否被占用。
指令:
netstat -lntup | grep port
//通过 port 端口号,获取端口占用信息,查看占用端口进程 PID
4、查看系统磁盘使用情况
5、查找某个名字的文件
6、查看所有日志或者文本文件中,是否包含某个关键字。
需要知道当前的文件中,是否包含某个指定关键
grep -rl XXX
//查看当前路径下的所有文本文件,是否包含 XXX 关键字。
grep -r XXX
//查看当前路径下的所有文件,具体那一个文件的哪一行,包含了 XXX 关键字
7、查询曾经执行过的某一个指令
8、强杀包含某个关键字的服务
指令:
ps -aux | grep
XXX //查看包含 XXX 关键字的进程,其中第二列为进程的 PID 关键字。
kill -9 PID
//强制停止进程 PID 的服务
9、查看当前机器的运行状态
某些服务运行异常时,会消耗掉机器的大量资源,为了查看当前机器的状态,可以使用指令,查看当前机器 cpu、内存、磁盘的运行状态。
指令:
top
//查看当前机器运行状态下,cpu、内存的运行和消耗状态
iostat
//查看当前机器磁盘的读写状态
10、批量删除路径下,包含某些关键字的文件。
有些服务运行时间比较之后,会产生大量的日志文件。可以通过通配的方法,批量删除路径下的文件。
指令:
rm -rf XXX.log.20190*
//批量删除路径下,以 XXX.log.20190 开头的所有文件。(-f 会跳过确认,需要谨慎使用)
11、服务器之间传输文件
有场景涉及到多个服务器之间传递文件数据。可以使用 linux 自带的 SimpleHTTPServer 服务实现
指令:
python -m SimpleHTTPServer
//在需要下载的路径下执行
wget host:8000/filename
//在目标服务器直接使用 wget 下载文件。
同时,在 windows 浏览器中,使用 http://host:8000 可以浏览执行路径下所有的文件服务器。
8000 端口被占用时,直接使用python -m SimpleHTTPServer 8001
修改成 8001 端口
12、重复执行上次相同的指令
在部分场景,需要重复执行相同指令。
指令:
ps -ef | grep 8000
//第一次执行指令
!ps
//直接再次执行 ps -ef | grep 8000
指令
评论