shell日志分析常用命令总结

时间:2016-03-09 15:55:29来源:网络
导读:shell日志分析的常用命令,用于日志分析的shell脚本,统计日志中百度蜘蛛的抓取量、抓取最多的页面、抓取404错误页面的数量等.
 
shell日志分析常用命令

一,用于日志分析的shell脚本

1、在windows下的用户要使用shell命令符的话请先安装cygwin,安装方法自行google(搜技术问题请使用google,百度搜不到活该)

2、seo日志分析常用的命令符用法。
less 文件名 查看文件内容 按“q” 退出
cat 文件名 打开文件,可以多次打开几个文件 | cat 1.log 2.log |cat *.cat
grep -参数 文件名
-i 不区分大小写
-v 显示不符合条件的所有行
-c 显示符合条件的所有行数(符合条件的数量)
egrep 属于grep的升级版,在正则这一块的支持更完善,使用正则的时候建议使用egrep
head -2 文件名 显示2行
head -100 文件名 | tail -10 >>a.log 提取文件第91-100行数据
wc -参数 文件名 统计文本大小,字符多少,行数
-c 统计文本字节数
-m 统计文本字符数
-l 统计文本有多少行
sort – 参数 文件名 对文件进行排序
-n 对文件按照数字排序
-r 反向排序
uniq -参数 文件名 对文件去重,去重前需要使用排序
sort
-c 显示数据重复的次数
split -参数 文件名 对文件进行切割
-100 (每100行切割成一个文件)
-C 25m/b/k (每25兆/字节/K 分割成一个文件)
| 管道,把上一条命令的结果传输给下一条命令
“>” 和“>> ” 重定向写入文件中 “>”相当于“w”清空并写入 “>>”相当于“a” 追加进文件
 awk -F ‘分割符'  Pattern {action} 文件名 使用指定的字符对每一行数据进行分段,默认是空格(网站日志就是空格分开)
-F后面跟的是分隔符
pattern 就是action执行的条件,这里可以使用正则表达式
$n 即时第几段数据 $0表示整行数据
NF表示当前记录的字段数
$NF 表示最后一个字段
BEGIN和END,这两者都可用于pattern中,提供BEGIN和END的作用是给程序赋予初始状态和在程序结束之后执行一些扫尾的工作
bash shell.sh 运行shell.sh脚本
dos2unix xxoo.sh 将“\r\n”转换成“\n” Windows——>linux (由于Windows和Linux下的换行符不同,所以我们在Windows下面下的代码需要使用dos2unix 转换成Linux下的换行符,否则运行shell脚本会报错)
unix2dos xxoo.sh 将“\n”转换成“\r\n” linux——>Windows
rm xx.txt 删除xx.txt文件

二,使用shell分析日志

包括了统计日志中百度蜘蛛的抓取量、不重复抓取量、抓取最多的页面、抓取404错误页面的数量等。

1、切割百度的抓取数据(将文件切割出来对专门的爬虫数据进行处理能提高效率)

cat log.log |grep -i ‘baiduspider' >baidu.log

2、网站状态码个数查询

awk ‘{print $9}' baidu.log|sort|uniq -c|sort -nr

3、百度总抓取量

wc -l baidu.log

4、百度不重复抓取量

awk ‘{print $7}' baidu.log|sort|uniq|wc -l

5、百度平均每次抓取的数据大小(结果是KB)

awk ‘{print $10}' baidu.log|awk ‘BEGIN{a=0}{a+=$1}END{ print a/NR/1024}'

6、首页抓取量

awk ‘$7~/\.com\/$/' baidu.log|wc -l

7、某目录抓取量

grep ‘/news/' baidu.log|wc -l

8、抓取最多的10个页面

awk ‘{print $7}' baidu.log|sort|uniq -c|sort -nr|head -10

9、找出抓取的404错误页面

awk ‘$9~ /^404$/ {print $7}' baidu.log|sort|uniq|sort -nr

10、找出抓取了多少js文件和文件抓取的次数

awk ‘$7~ /.js$/ {print $7}' baidu.log|sort|uniq -c |sort -nr
 

(转载)shell日志分析常用命令的更多相关文章

  1. Linux apache日志分析常用命令汇总

    1.查看当天有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc –l 2.查看某一个页面被访问的次数: grep "/index.php&quo ...

  2. Nginx Access Log日志统计分析常用命令

    Nginx Access Log日志统计分析常用命令 IP相关统计 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时 ...

  3. shell日志分析进阶篇

    前面我们说了shell分析日志常用指令,现在我们随ytkah一起看看shell日志分析进阶篇,假设日志文件为ytkah.log //统计不重复抓取数量 cat ytkah.log | awk '{pr ...

  4. 转 Nginx Access Log日志统计分析常用命令

    Nginx Access Log日志统计分析常用命令Nginx Access Log日志统计分析常用命令IP相关统计 统计IP访问量 awk '{print $1}' access.log | sor ...

  5. 初探日志分析常用的linux命令

    了解linux常用命令,有助于提升我们的生产力,提升工作效率,更快速地定位问题,当然也是为了更好地解决问题.这两天,趁着在家办公的时间,我把linux系统中常用的命令整理了一下,主要涉及到查找.查看, ...

  6. hbase shell基础和常用命令详解(转)

    HBase shell的基本用法 hbase提供了一个shell的终端给用户交互.使用命令hbase shell进入命令界面.通过执行 help可以看到命令的帮助信息. 以网上的一个学生成绩表的例子来 ...

  7. Apache日志分析_shell命令行

    说明: 1.我的日志预先设定好按日生成文件:"CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/www.website ...

  8. hbase shell基础和常用命令详解

    HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服 ...

  9. Linux Shell 与Linux常用命令

    Linux的人际交互分为图形界面方式和命令行方式. Linux本身只是一个操作系统内核,而由X Window图形用户接口为Linux提供图形用户界面功能.可以把X Window理解为一个运行在Linu ...

随机推荐

  1. CSS3—三角形

    话不多说看效果:演示效果,runjs 1.加了宽高和border,边用不同颜色显示,每条边都是一个梯形 2.去掉宽高,每条边都是三角形 3.只显示其中一条边就是不同的三角形了,是不是很简单,改变bor ...

  2. unity3d遍历出Cube里面所有子对象

     cube目录下有n个cube,可不可以一下子遍历出所有的对象,而不用一个一个的find?find(“Cube1”)   1.foreach(Transform ts in cube)   2.cub ...

  3. ubuntu(16.04.01)学习-day1

    1.修改root用户密码 sudo passwd root 按提示进行设置. 2.从Ubuntu 16.04开始,用户可以实现改变启动器的位置,可以将启动器移到屏幕底部,但是无法移到右边或顶部.打开终 ...

  4. 在win下面使用cdt+cygwin+cmake

    在cygwin终端下面, cmake -G"Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug 当收获警告 Could ...

  5. ios开发:OC对象的内存分析

    最近要开始准备找实习单位了,做做笔试题,看看各位大神的面试经历,发现自己要学习的东西真的还有很多,虽然也做过几个的项目,但是真正拿过笔试题一看,才发现自己对基础这方面的东西,确实有点忽视了,所以最近开 ...

  6. UEditor的使用方法

    文本编辑器程序员都会用到,今天无意中发现UEditor是个好东西,特奉献给大家,并提供下载. 这个编辑器的亮点是可以显示当前输入多少字符,还可以输入多少字符. 新创建的MVC项目,在layout页面里 ...

  7. Java 对于继承的初级理解

    概念:继承,是指一个类的定义可以基于另外一个已存在的类,即子类继承父类,从而实现父类的代码的重用.两个类的关系:父类一般具有各个子类共性的特征,而子类可以增加一些更具个性的方法.类的继承具有传递性,即 ...

  8. js中的一些零碎方法

    ajax表单提交: $.post("do_login", f.serializeArray(), function(data) { if (data.status + " ...

  9. Ubuntu gedit 折叠插件

    Ubuntu Kylin 14.04 gedit  - Version 3.10.4 (as same as all version of gedit 3.x ) Attention: this pl ...

  10. apache 设置禁止访问某些文件或目录

    [apache配置禁止访问]1. 禁止访问某些文件/目录增加Files选项来控制,比如要不允许访问 .inc 扩展名的文件,保护php类库:<Files ~ "\.inc$" ...