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. Unity3D 之UGUI 滚动条

    先上效果图. 这里来说明下UGUI 滚动条,不涉及到代码. 主要用到的控件Scroll Rect ,Mask,Scrollbar. 第一步,建立一个Image,然后绑定一个滑动块的组件,添加一个mas ...

  2. Google推Android新开发语言Sky:流畅度 秒iOS

    Dart初衷 作为当前市占率最高的智能手机操作系统,Android平台正在吸引着越来越多的开发者. 不过,对用户而言,Android的体验还不够完善,卡顿的情况时有发生.再深入点理解,许多应用的帧率达 ...

  3. python学习day4--python基础--购物小程序

    '''购物小程序:用户启动时先输入工资用户启动程序后打印商品列表允许用户选择购买商品允许用户不断购买各种商品购买时检测余额是否够,如果够直接扣款,否则打印余额不足允许用户主动退出程序,退出时打印已购商 ...

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

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

  5. 【转】C# 后台开启 cmd执行命令

    private void RunCmd(string cmd)     {         System.Diagnostics.Process p = new System.Diagnostics. ...

  6. Linux学习三部曲(之二)

    新建Linux分区以及文件系统 今天,我们来聊聊在linux上建立分区和文件系统.windows系统建立分区可以借助分区工具,那么在linux分区以及文件系统又该如何操作呢? 打开secureCRT, ...

  7. java新手笔记28 文件

    1.目录.文件 package com.yfs.javase; import java.io.File; public class FileDemo1 { /** * File 目录 文件 */ pu ...

  8. 使用百度zrender, demo抛砖引玉.

    http://www.just.org.cn/zrender/index.html https://github.com/ecomfe/zrender 目录结构: |-project    |-dem ...

  9. 何谓IOC的核心思想

    IOC(Inversion of Control)即控制反转,是在面试或平常交流中经常遇到了词汇:我也曾经仿照Spring,利用JDK的反射和动态代理实现了一个简单的IOC框架,感觉算是知其然也知其所 ...

  10. .net mvc 防止 xss 与 CSRF

    CSRF(Cross-site request forgery跨站请求伪造,也被称成为“one click attack”或者session riding,通常缩写为CSRF或者XSRF,是一种对网站 ...