linux命令样例 linux命令用法及举例( 二 )


/etc/bogofilter.cf
/etc/bonobo-activation
/etc/brlapi.key
根据文件内容查找文件
输入以下命令:
代码如下:
grep
'string'
*.txt
grep
'main('
*.c
grep
'#include'
*.c
grep
'getChar*'
*.c
grep
-i
'ultra'
*.conf
grep
-iR
'ultra'
*.conf
其中
-i

忽略模式(匹配字符串
valid、
VALID、
ValID
)和输入文件(匹配
file.c
FILE.c
FILE.C)的大小写 。
-R

递归读取每个目录下的所有文件 。
高亮匹配到的模式
在搜索大量文件的时候你可以轻松地高亮模式:
代码如下:
$
grep
--color=auto
-iR
'getChar();'
*.c
为查找到的模式显示文件名和行号
你也许需要显示文件名和行号:
代码如下:
$
grep
--color=auto
-iRnH
'getChar();'
*.c
其中,
-n

在输出的每行前面添加以
1
开始的行号 。
-H

为每个匹配打印文件名 。要搜索多个文件时这是默认选项 。(LCTT
译注:-h
选项强制隐藏文件名;另外
-l

-L
选项用于仅显示匹配/不匹配的文件名 , 而
-H

-h用于控制在显示匹配行前显示/不显示文件名,注意区分 。)
代码如下:
$grep
--color=auto
-nH
'DIR'
*
输出样例:
你也可以使用
find
命令:
代码如下:
$
find
.
-name
*.c
-print
|
xargs
grep
main(
Linux常见日志统计分析命令在上文中,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析 。
server.xml使用配置方式,%D-请求时间,%F-响应时间
字段说明如下:
日志样例:
使用默认 combined 的经典格式上扩展response_timeupstream_response_time
nginx.conf使用配置方式:
字段说明如下:
日志示例:
为了能理解 AWK 程序 , 我们下面概述其基本知识 。
模式( pattern ) 用于匹配输入中的每行文本 。对于匹配上的每行文本 , awk 都执行对应的 动作( action ) 。模式和动作之间使用花括号隔开 。awk 顺序扫描每一行文本 , 并使用 记录分隔符(一般是换行符)将读到的每一行作为 记录,使用 域分隔符( 一般是空格符或制表符 ) 将一行文本分割为多个 域, 每个域分别可以使用 2, … 表示 。1 表示第一个域,表示第二个域,n 表示第 n 个域 。$0 表示整个记录 。模式或动作都可以不指定,缺省模式的情况下 , 将匹配所有行 。缺省动作的情况下 , 将执行动作 {print},即打印整个记录 。
此处使用Nginx access.log 举例,Tomcat 日志自己举一反三 。使用 awk 分解出Nginx access日志中的信息
以此类推…… 当我们使用默认的域分割符时 , 我们可以从日志中解析出下面不同类型的信息:
我们不难发现,仅使用默认的域分隔符,不方便解析出请求行、引用页和浏览器类型等其他信息,因为这些信息之中包含不确定个数的空格 。因此,我们需要把域分隔符修改为 “,就能够轻松读出这些信息 。
注意:这里为了避免 Linux Shell 误解 “ 为字符串开始 , 我们使用了反斜杠,转义了 “。现在,我们已经掌握了 awk 的基本知识,以及它是怎样解析日志的 。

推荐阅读