文本
grep
- grep查看匹配内容上下几行
#上下文三行
grep -C 3 'Exception' server.log
# 下二十行BadRequest异常
grep -A20 'feign.FeignException$BadRequest' server.log
# 上三行
grep -B 3 'Exception' server.log
- grep排除匹配到的内容
# 排除debug记录
grep -v 'debug' server.log
- grep sed awk日志分析参考
# 达梦数据库log日志分析。grep 执行时间 sed 将时间与毫秒加入空格分开 awk寻找大于200的倒数第二列 打印时间和整行日志
grep "EXECTIME: [0-9]\d*(ms)\." log_commit_01.log | sed 's/(ms/ (ms/' | awk -F " " '$(NF-1)> 200 {print $(NF-1);print $0}'
vim
- vim乱码
# 设置vim配置
vim ~/.vimrc
# 输入下面编码信息
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
- vim搜索
非编辑模式下按/
向前搜索,向后搜索按下?
,然后输入需要查询的字符
文件
chmod
- chmod文件授权
读:r --> 4
写:w --> 2
执行:x --> 1
777 标识所有者、所属组、所有人权限都是最高级
# 给bin文件夹下所有文件循环授权
chmod -R 777 ./bin
split
将日志切分为100m大小
split -b 100m server.log
rm
递归(-r)强制(-f)删除当前目录下logs文件夹及其子文件内容
rm -rf ./logs
find
find查找文件内容
# 查找当前目录下所有日志文件中包含HessianRuntimeException的信息
find ./ -type f -name "*.log*" | xargs grep "HessianRuntimeException"
磁盘
df
- 查看系统剩余空间
df -h
du
- 查看当前文件目录各个文件夹大小
du -h --max-depth=1
- 查看mac中磁盘空间占用
//mac os
du -c -d 1 -m | sort -n
-c
显示当前文件夹总计占用空间
-d 1
只显示当前目录下一级文件夹的大小
-m
以M为单位
sort -n
顺序展示
3. 查找/目录下占用磁盘空间最大的 Top 10 文件
find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10
内存
按照 内存 的使用情况列出 Top 10 的进程
ps axo %mem,pid,euser,cmd | sort -nr | head -10
Swap
按照 Swap 分区的使用情况列出 Top 10 的进程
for file in /proc/*/status ; do awk '/VmSwap|Name|^Pid/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 3 -n -r | head -10
网络
查看系统当前网络连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
iptables
# 屏蔽某ip的请求
iptables -I INPUT -s 10.2.1.10 -j DROP
ssh
# ssh “REMOTE HOST IDENTIFICATION HAS CHANGED”异常重置
ssh-keygen -R 168.192.1.1
# ssh root用户登录
ssh 168.192.1.1 -l root
CPU
按照 CPU 的使用情况列出 Top 10 的进程
ps -aeo pcpu,user,pid,cmd | sort -nr | head -10