日志分析常用命令

一些较为入门级的操作,这里不做介绍,例如cp、mv、rm、mkdir、touch、ls、tar等操作.

1、查看文件的内容cat

cat命令是一个显示文本文件内容的便捷工具,如果一个日志的文件较小,可以直接使用cat命令将其内容打印出来,进行查看。如果一个日志的文件较大,请不要这样操作,打开一个过大的文件,可能会占用过多的系统资源,从而影响系统对外的服务。

使用cat命令时,可以带上-n ,以显示行号

cat -n admin.pre.xx.com-error_log

2、分页显示文件more、less

cat的命令的缺点在于:无法进行交互和控制。而more命令可以分页显示文件内容,按Enter显示下一行,按Space显示下一页,按F键显示下一屏,按B键显示上一屏按q键退出.

more admin.xx.com-access_log_2016-02-23

另外一个命令less提供比more更加丰富的功能,支持内容查找、并高亮显示。按键功能同more。

less admin.xx.com-access_log_2016-02-23

3、显示文件尾tail

使用命令tail能够查看文件的最后几行,这对于日志文件非常有效,因为日志文件通常是追加写入的,新写入的日志处于文件的末尾。

-n的参数表示显示文件的最后几行。

-f的参数能够实时显示文件新增的内容。

tail -n10 www.xx.com-access_log-20160224
tail -f www.xx.com-access_log-20160224

4、显示文件头head

与tail的命令类似,显示文件开头的几行.

head -2 www.ffan.com-access_log-20160224

5、内容排序sort

一个文件中通常包括众多的行,通常需要对其中的某一个列进行排序,sort命令的作用便是对数据进行排序查看,切记大文本勿使用此操作。

sort -k 1 -t " " -n -r www.xx.com-access_log-20160224

-k参数:表示第几列,该列子中显示响应时间。
-t参数:指定分隔符。
-n参数:按照数字进行排序。
-r参数:表示逆向排序.

6、字符统计wc

wc命令用来统计文本的行数、字符数、字数。

wc -l www.xx.com-access_log-20160224

-l:显示行数统计。
-c:文件包含的字节数。
-L:最长的行的长度。
-w:文件中包含多少个单词。

7、查看重复出现的行uniq

uniq用来显示文件中重复行的次数,通常和sort使用。

sort www.xx.com-access_log-20160224 | uniq -c

-c:每一行前面加上该行出现的相同次数。
-u:只显示出现一次的行。
-d:只显示有重复的行。

8、字符串查找grep

使用grep命令查找符合条件的字符串,如果发现文件内容符合查找的字符串,便会将该行打印出来。

grep qq access.log
grep qq -c access.log

-c:显示查找到的行数。

注:grep支持正则表达式查找。

grep 'G.*T' access.og

表示查找以G开头,T结尾的字符串。

9、文件查找find / whereis

10、URL访问工具curl

curl http://www.baidu.com
curl -i http://www.baidu.com
curl -I http://www.baidu.com

curl的命令后续将单独介绍

11、查看请求访问量

# 访问量排名前10的IP地址
cat res.xx.com-access_log | cut -f1 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10 

# 访问量排名前10的URL
cat res.xx.com-access_log | cut -f4 -d " " | sort | uniq -c | sort -k 1 -n -r | head -10

12、查看最耗时的页面

# 查询最耗时的10个也买年
cat res.xx.com-access_log | sort -k 2 -n -r | head -10

13、cut的使用

其语法格式为:

cut [-bn] [file] 或 cut [-c] [file] 或 cut [-df] [file]

cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
主要参数
-b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以字符为单位进行分割。
-d :自定义分隔符,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的<br />范围之内,该字符将被写出;否则,该字符将被排除。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>