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 : 将程序的输出打印在指定文件中
  • & : 后台运行命令 , 不影响前台其他正常操作
返回
顶部