常见的Linux定位问题的工具
- 文本操作
文本查找 - grep
文本分析 - awk
文本处理 - sed
文件操作 - cut
文件监听 - tail
文件查找 - find
GREP 搜索任何给定的输入文件,选择与一个或多个模式匹配的行。
CUT 从每个文件中剪切出每行的选定部分,并将其写入标准输出。
SED 读取指定文件,按照命令列表的指定修改输入。
AWK 扫描每个输入文件,查找与一组模式匹配的行。
SORT 按行对文本和二进制文件进行排序。
UNIQ 读取指定的输入文件,比较相邻行,并将每个唯一输入行的副本写入输出文件。
比如我们需要在日志中找到访问路径 “/api/payments “ 的前 10 个 IP 地址。
日志格式216.67.1.91 - leon [01/Jul/2002:12:11:52 +0000] "GET /index.html HTTP/1.1" 200 431
结合使用 grep、cut、sort 和 uniq 命令:
grep '/api/payments' access.log | cut -d ' ' -f 1 | sort | uniq -c | sort -rn | head -10
- grep ‘/api/payments’ access.log
过滤找到 access.log 文件中包含”/api/payments “的行。- cut -d ‘ ‘ -f 1
从每一行中提取第一个字段(IP 地址)。-d ‘ ‘ 选项指定空格作为字段分隔符。- sort
对 IP 地址进行排序。- uniq -c
删除重复行,并以出现次数作为行的前缀。- sort -rn
按数字倒序(最高者优先)排序。- head -10
只显示输出的前 10 行,即前 10 个 IP 地址。
- 网络和进程
网络接口 - ifconfig
防火墙 - iptables -L
路由表 - route -n
netstat - 其它常用
进程 ps -ef | grep java
分区大小 df -h
内存 free -m
硬盘大小 fdisk -l |grep Disk
top
环境变量 env
本作品采用《CC 协议》,转载必须注明作者和本文链接