首页 > 建站知识

怎么用shell命令分析网站日志

2018-11-21 16:47:00 海静

  很多地方分享了日志分析的shell脚本,可是基本没说每个号令符的详细含义,学习本钱仍然很高,在这里总结下,简便众人迅速入门。

  1、在Windows下的用户要运用shell号令符的话请先安装cygwin,安装方式自行Google。

  更新:Cygwin安装详解,迅速安装全部插件,无需联网。

SEO

  2、底下粗略介绍下SEO日志分析常用的号令符用法,需求详细了解每个号令符请运用Google。

  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后边跟的是分开符

SEO

  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文件

  3、一些简单的号令符介绍到这里,需求了解shell,提议众人稽查关联的书本,底下咱们起始运用shell分析日志。

转载请注明出处。