1 . 滚动查看日志文件
tail -fn200 out.log
命令详解 :
- tail : 显示文件末尾的内容
- -f : 当文件变动时 , 自动输出后续的增加内容 . 即滚动输出末尾内容
- -n [N] : 输出最后指定的N行 , 而非默认的10行
- 扩展 tail -f out.log | grep 'Exception' 滚动跟踪关键字日志
2 . 日志文件中模糊搜索 , 支持正则表达式
grep 'Exception' out.log
即在out.log中搜索并高亮"Exception"关键字
命令详解 :
- -n : 在结果前面显示行号(一般追加在后边,行号自动变为绿色显示)
- -2 : 显示查询结果的前后2行 , 默认只显示匹配结果的当前1行 , 也可写作 -C 2
- -i : 忽略大小写
- out.log : 指定查询的文件 , 支持多个文件 , 如 o1.log o2.log, out*.log , *.txt
- grep 'a|b' out.log 显示匹配a或b的结果
- grep 'a' out.log | grep 'b' 显示匹配a且匹配不得结果
- sed -n '/2018-08-13 18:00:00/,/2018-08-13 19:00:00/p' out.log | grep '关键字' 结合sed命令 , 查询指定时间段内的日志
- cat -n out.log | grep '关键字' -n -B1 -F2 结合cat命令, 搜索关键字前1行后2行的日志
- cat -n out.log |grep '关键字' -C100 |more 搜索关键词前后各100行日志 ,并分页逐步输出,空格下一页
- cat -n out.log | grep '关键字' >out-new.log : 结合cat命令 , 将相关日志输出到文件后查看
正则表达式主要参数 :
- \ : 忽略正则表达式中特殊字符的原有含义
- ^ : 匹配正则表达式的开始行
- $ : 匹配正则表达式的结束行
- \< : 从匹配正则表达 式的行开始
- \> : 到匹配正则表达式的行结束
- [ ] : 单个字符,如[A]即A符合要求
- [ - ] : 范围,如[A-Z],即A、B、C一直到Z都符合要求
- . : 所有的单个字符
- * : 有字符,长度可以为0
3 . 精确日志搜索
less out.log
命令详解 :
- G : 切换到文件末尾
- ?关键字 : 向上查询
- /关键字 : 向下查询
- n : 上一个结果
- Shift + n : 下一个结果
- b : 向后翻一页
- d : 向后翻半页
- f : 向前翻一页
- u : 向前翻半页
- y : 向前翻一行
- 空格键 : 滚动一行
- 回车键 : 滚动一页
- pageUp : 向上翻一页
- pageDown : 向下翻一页
4 . 进程查看和杀掉
查看进程
ps -ef|grep redis
命令详解 :
- ps : 查看进程信息
- -f : 显示更完整的内容
- grep : 按关键字查找
结果如下 :
UID PID PPID C STIME TTY TIME CMD
root 17111 1 0 Nov09 ? 00:13:19 redis-server 127.0.0.1:6379 [cluster]
UID : 程序被该 UID 所拥有
PID : 就是这个程序的 ID
PPID : 则是其上级父程序的ID
C : CPU使用的资源百分比
STIME : 系统启动时间
TTY : 登入者的终端机位置
TIME : 使用掉的CPU时间
CMD : 所下达的是什么指令
强制彻底杀掉指定进程
kill -9 17111
17111 即上图查出的进程PID
5 . 后台运行jar程序
nohup java -jar test.jar >out.txt &
命令详解 :
- nohup : 后台运行指定程序
- >out.txt : 将程序的输出打印在指定文件中
- & : 后台运行命令 , 不影响前台其他正常操作