日志查看技巧
在工作中经常会有查线上日志的情况,对一些常用的日志操作的命令做一个记录和分享。
grep pattern filename --color=auto
## 直接使用grep 使用正则或者关键词进行检索 使用 --color 标识匹配字的颜色
grep pattern -c filename ## -c统计匹配行的数量
grep pattern -o filename | wc -l ## 统计出现的次数
grep pattern -n filename ## 使用 -n 打印匹配数据的行号
egrep pattern -i filename ## 多文件时 标出匹配行是那个文件
grep pattern . -R -n ## .是指当前目录 多级目录搜索使用 -R -n
grep -e '07-24' -e '07-17' filename ## 多关键词匹配使用 -e
grep -e '07-24' -e '07-17' -i . -r --include *.{err,error} ##在当前目录下指定的文件中搜索
grep -e '07-24' -e '07-17' -i . -r --exclude *.{err,error} ##排除当前目录下的某些文件
grep pattern filename -A 3 ## 打印匹配结果之后的三行
grep pattern filename -B 3 ## 打印匹配结果之前的三行
head filename ##查看文件的前10行
head -n 4 filename ## 查看指定前几行
tail filename ## 查看文件的后10行
tail -n 5 filename ##查看最后5行
tail -f filename ##实时监控文件增加
端口进程查看
lsof -i ##列出所有的对外开放的端口
ps ##列出当前终端中的进程
ps -ef 或者 ps -axf ## 列出所有的进程
ps -eo comm,pcpu,cmd | grep node ## 列出指定的列
ps -eo pcpu,comm,cmd --sort -pcpu | head ##根据cpu排序
top ## 列出占用cpu 较高的进程列表并每隔几秒更新一次
文件查找
find . -name '*.js' ## 根据名字查找
find . -name '*.js' -o -name '*.txt' ## 查询.js 文件和 .txt文件 根据文件名匹配
find . -path '*/src/*' ## 根据文件路径匹配
find . -regex '.*png' ##用正则匹配
find . ! -regex '.*.js' ## 使用!取反查询
find . -maxdepth 1 -regex '.*.js' ##限制最大搜索目录深度
find . -mindepth 1 -regex '.*.js' ##限制最小搜索目录深度
find . -type d ##只列出目录
find . -type f ##只列出普通文件