(1)Linux目录操作命令

cd ..退出当前目录,返回上一级目录;cd / 退出当前目录,返回根目录;

mkdir命令用于创建一个新的目录;rmdir命令功能删除指定的空目录。

(2)Linux筛选日志

下面罗列的这些基本命令,很有用,对于查询线上线下问题都非常有用的,不妨学习一下哈。

先必须了解两个最基本的命令:

tail  -n  10  test.log   查询日志尾部最后10行的日志;

tail -n +10 test.log    查询10行之后的所有日志;

head -n 10  test.log   查询日志文件中的头10行日志;

head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

场景1: 按行号查看---过滤出关键字附近的日志

因为通常时候我们用grep拿到的日志很少,我们需要查看附近的日志.

我是这样做的,首先: cat -n test.log |grep "地形"  得到关键日志的行号

<3>得到"地形"关键字所在的行号是102行. 此时如果我想查看这个关键字前10行和后10行的日志:

cat -n test.log |tail -n +92|head -n 20

tail -n +92表示查询92行之后的日志

head -n 20 则表示在前面的查询结果里再查前20条记录

场景2:那么按日期怎么查呢?  通常我们非常需要查找指定时间端的日志

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log

第二种方式,两个行号之间的命令:

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效.

关于日期打印,可以先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该时间点,以确保第4步可以拿到日志

这个根据时间段查询日志是非常有用的命令.

如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:

(1)使用more和less命令, 如: cat -n test.log |grep "地形" |more     这样就分页打印了,通过点击空格键翻页

a.More命令

more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。

b.Less

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:

cat -n test.log |grep "地形"  >xxx.txt

这几个日志查看方法应该可以满足日常需求了.

grep命令多条件查询

1、或操作

grep -E ’123|abc’ filename  // 找出文件(filename)中包含123或者包含abc的行
 egrep ’123|abc’ filename    // 用egrep同样可以实现
 awk ’/123|abc/’ filename   // awk 的实现方式

2、与操作

grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

3、其他操作

grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行

grep的-A, -B, -C选项分别可以显示匹配行的后,前,后前多少行内容:

grep -A 100 'TooManyResultsException' catalina.log.2017-09-25  后

grep -B 100 'TooManyResultsException' catalina.log.2017-09-25  前

grep -C 100 'TooManyResultsException' catalina.log.2017-09-25  前后

grep -C 100 --color 'TooManyResultsException' catalina.log.2017-09-25  带颜色输出

查询日志特殊场景:

如果日志非常的多,在短短的一个小时的时间中就有上千条或者上万条数据,仅仅根据条件筛选的话非常麻烦,即使筛选出来也会有很多条数据。如果我们知道该条调用发生的时间,就可以根据日志最前面打印的时间判断出哪些记录符合查询条件。所以,我们可以根据日志的日期作为搜索条件,并且配合grep使用,如下所示:

sed -n '/2017-03-08 15:42:03/,/2017-03-08 15:42:05/p' dubbo-access-consumer.2017-03-08.log | grep countOrgOrder

我们可以使用sed命令的查询模式:

使用模式进行查询
     [root@localhost ruby] # sed -n '/ruby/p' ab    #查询包括关键字ruby所在所有行
     [root@localhost ruby] # sed -n '/\$/p' ab        #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义

查询.bz2类型的日志文件,如下所示:bzgrep 60000000005137 dubbo-access-provider.2017-05-17.log.bz2

下面介绍一下如何查询筛选服务器上运行的进程:

1.使用ps命令执行相应操作,如果想查询服务器上所有运行的进程的话,可以使用命令ps aux即可查出;

2.如果有具体的筛选条件的话,就可以使用ps aux | grep xxx即可;

3.或者使用命令 ps -ef | grep xxx 也可以完成相应的筛选工作;

4.终止某个进程的命令 kill -9 XXXXX     XXXXX为上述查出的序号  如: 19979线程终止为: kill -9 19979

(转自:https://blog.csdn.net/waeceo/article/details/53258574)

Linux日志筛选命令的更多相关文章

  1. Linux日志五大命令详解

    1.who 命令 who 命令查询 utmp 文件并报告当前登录的每个用户.Who 的缺省输出包括用户名.终端类型.登录日期及远程主机.使用该命令,系统管理员可以查看当前系统存在哪些不法用户,从而对其 ...

  2. linux日志logger命令详解

    通过logger命令记录日志 logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息. ------------------- ...

  3. linux日志(常用命令)

    LinuxIDERedHat防火墙活动  cat tail -f 日 志 文 件 说    明 /var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志 ...

  4. linux日志查看命令

    tail tail 命令用于显示文本文件的末尾几行, 对于监控文件日志特别有用 tail example.txt #显示文件 example.txt 的后十行内容: tail -n 20 exampl ...

  5. 常用linux日志查询命令

    1.查看实时日志: tail -f nohup.out 2.分页查看所有日志: cat nohup.out | more 4.分页查看前N行日志: tail -n 1000 nohup.out | m ...

  6. 清除Linux日志文件命令

    find /opt/tomcat/logs/catalina_* -mtime +9 -exec rm -rf {} \;

  7. 有关linux日志分析的详细介绍

    linux的日志文件可以帮助我们了解系统所处的状态,比如查出哪些用户有登入,及其它安全相关的一些问题. linux下的日志分析. 以下内容,部分参考了:探讨 linux 日志分析 这篇文章. 1.了解 ...

  8. linux查看日志文件命令

    转:https://www.cnblogs.com/zdz8207/p/linux-log-tail-cat-tac.html linux查看日志文件内容命令tail.cat.tac.head.ech ...

  9. linux下常用的日志分析命令

    linux下常用的日志分析命令   本文介绍下,在linux中常用的一些分析日志的命令行或脚本,有需要的朋友参考下.     形如下面这样的access.log日志内容: 211.123.23.133 ...

随机推荐

  1. 文件I/O简述

    什么是I/O 宏观上讲,I/O是信息处理系统(例如计算机)与外部世界(可能是人或其他信息处理系统)之间的通信.输入(Input)是系统接收的信号或数据,输出(Output)是从其发送的信号或数据.另一 ...

  2. c++ 实时通信系统(c++socket篇)

    在上一篇简单的介绍了TCP/IP协议,在这一篇我们主要介绍socket的具体实现的函数 第一步首先我们套添加上头文件:(#pragma comment(lib, "WS2_32") ...

  3. Could not determine which “make” command to run. Check the “make” step in the build configuration

    环境: QT5.10 VisualStudio2015 错误1: Could not determine which “make” command to run. Check the “make” s ...

  4. 一、Nginx多站点配置

    一.下载 目录文件: 二.运行方式 (1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过 (2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe 或者 start ...

  5. 使用NPOI或POI 导出Excel大数据(百万级以上),导致内存溢出的解决方案(NPOI,POI)

    使用工具:POI(JAVA),NPOI(.Net) 致谢博主 Crazy_Jeff 提供的思路 一.问题描述: 导出任务数据量近100W甚至更多,导出的项目就会内存溢出,挂掉. 二.原因分析: 1.每 ...

  6. 程序中的一些限制(基于Linux系统C语言)

    今天突然想起来几个问题,在程序运行起来时,存在一些限制: 1,数组的长度(成员的个数)存在限制!(数组定义的空间大小)2,一个进程里打开的文件数.3,一个文件的名字的长度.4,一个进程里创建线程的个数 ...

  7. WTL项目各种error的解决方法

    error RC1015: cannot open include file 'atlres.h' 解决办法: 向“VC项目属性->资源->附加包含目录” 添加WTL的Include目录( ...

  8. DEDE怎么让栏目列表以权重拍排列

    方法/步骤     进入后台到栏目里,新发布文章也行,编辑文章也行,你会看到有个权重值,不管你怎么改变保存后依然没有变化.   修改权重值,打开dede\album_edit.php文件,找到 UPD ...

  9. 通过喝水清晰简单了解I/O五大模型

    一般单次I/O请求会分为两个阶段,每个阶段对于I/O的处理方式是不同的 I/O会经历一个等待资源的阶段 阻塞,指的是在数据不可用时,I/O请求会一直阻塞,直到数据返回 数据不可用时,立即返回,直到被通 ...

  10. redis 短信验证码

    127.0.0.1:6379> get CERTIYCODESENDFORAPP.1101:18222202889 "\xac\xed\x00\x05sr\x00\x11java.ut ...