linux日志log查询常用命令
一般的log文件都是需要过滤
1.grep 过滤查找
查询ip 221.2.100.138的log
grep '221.2.100.138' web.access.log
grep 221.2.100.138 web.access.log
less web.access.log |grep "221.2.100.138"
统计error行数
grep error web.access.log |wc -l
将error重定向(linux是>python是>>)到文件中
grep error web.access.log >mylog1.txt
其他常用参数,位置放在前面后面都可以
-i 不区分大小写 grep -i 'HTTP' web.access.log或者grep 'HTTP' -i web.access.log
-n 输出行号
-c 统计行数
支持正则
2.sed 行筛选
显示第1行
显示第1-3行
常用选项:
-n∶不使用的时候,会把所有数据都显示出来,但如果加上 -n 参数后,只显示经过处理的那几行
-e∶直接在指令列模式上进行 sed 的动作编辑;
-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:
a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~
s
命令是直接使用,参数是-一起使用
格式:
sed '/模式/' d filename或者sed '/模式d/' filename都可以。删除查询条件为模式的行
eg:删除以#开头的行,并将修改写入文件
sed '/^#/' d -i filename
如果不加-i是显示在屏幕上,这时候可以把结果重定向到文件中
sed '/^#/' d filename>filename_new 覆盖写入w
sed '/^#/' d -i filename>>filename_new追加写入aw
sed -n '/2015:08:39:59/,/2015:08:40:02/' p web.access.log 打印出这个时间段的log,p是打印的意思
sed -n '/2015:08:39:59/,/2015:08:40:02/' web.access.log |awk '{print $4,$5}'
awk分列
语法awk '{print $1}'打印第一列
awk -F : '{print $1}' 以:为分隔符打印出第一列 比如每行的数据格式是aa:bb,执行以后会取到aa,要想这个时候取值aa和bb,执行awk -F :'{print $1,$2}'
awk '{if(表达式){语句}}'
(1) awk '{print}' 打印所有列
(2)打印第一行的所有数据 awk 'NR==1{print}'
(3)打印第二行第一列 awk 'NR==2{print $1}'
grep '106.39.249.119' web.access.log | awk '{print $1,$2}' 打印出含有106这个ip地址的第一列和第二列
awk '{if($1=="106.39.241.119"){print $1,$2}}' web.access.log 打印出ip地址是106的第一列和第二列
awk '$1=="106.39.249.119" {print $1,$2}' web.access.log同上
其他组合用法
1.统计wc
统计行数(line) |wc -l more filename|wc -l或者wc -l filename
统计单词数(word) |wc -w
统计字符数 |wc -c (bytes)
2.排序sort 经常与|管道符使用
|sort -n 按照数字进行排序,不加,会出现1后面是10这种排序
|sort -nr 反序reverse排序
3.去重uniq
经常与管道符结合使用|
|uniq -c 将该重复的数据的行数统计出 一般在uniq -c|sort -n使用,因为uniq会把数字统计出来,然后sort -n按照数字进行排序
|uniq -d 只显示重复的行
|uniq -u 只显示不重复的行
例子:
统计出访问日志中有多少个不同的ip
awk '{print $1}' web.access.log |sort|uniq -c|wc -l
统计访问最高的ip
cat access.log|awk '{print $2}'|uniq -c|sort -nr|head -n 1
或者
cat acess.log|awk '{print $2}'|uniq -c|sort -nr|sed '1p'
字符转换tr,以下转换不会对源文件进行操作
tr '#' '!' 把#全部转换成!
cat a.log |tr 'a-z' 'A-Z'
linux日志log查询常用命令的更多相关文章
- Linux基础 - 系统优化及常用命令
目录 Linux基础系统优化及常用命令 Linux基础系统优化 网卡配置文件详解 ifup,ifdown命令 ifconfig命令 ifup,ifdown命令 ip命令 用户管理与文件权限篇 创建普通 ...
- Linux基础系统优化及常用命令
# Linux基础系统优化及常用命令 [TOC] ## Linux基础系统优化 Linux的网络功能相当强悍,一时之间我们无法了解所有的网络命令,在配置服务器基础环境时,先了解下网络参数设定命令. - ...
- Linux文件管理和编辑常用命令
Linux文件管理和编辑常用命令 mkdir 命令 功能说明 mkdir 命令用于创建一个目录,mkdir是make directory的缩写 格式: mkdir [选项] 目录名 mkdir 命令的 ...
- Linux系统管理和维护常用命令
Linux系统管理和维护常用命令 ls 命令 功能说明 ls 命令显示指定工作目录下的内容,列出工作目录所包含的文件及子目录. 语法结构: ls [选项] [路径或文件] ls 选项及说明 -a 显示 ...
- Linux课程---4、Linux目录结构及常用命令(目录结构)
Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...
- [转帖]「日常小记」linux中强大且常用命令:find、grep
「日常小记」linux中强大且常用命令:find.grep https://zhuanlan.zhihu.com/p/74379265 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍 ...
- Linux 文件夹相关常用命令
Linux 文件夹相关常用命令 查看 ls -la -l 列出详细信息 -a 列出全部,包括.和.. 删除 rm <folder> -rf -r 就是向下递归,不管有多少级目录,一并删 ...
- Linux系统诊断必备技能之二:日志查询常用命令详解
一.概述 日常运维工作中,排查线上环境问题,少不了去线上查日志.而使用什么命令,能快速准确地查到我们需要查找地日志信息,也是我们需要掌握的一项技能.下面介绍一下日常工作常用到的查看日志命令:tail, ...
- Linux 查看日志的时候常用命令总结
Linux ~ 查看日志的常用命令总结 1.tail -n <行数>,显示文件的尾部n行内容. -f 循环读取,常用于查阅正在改变的日志文件. ① tail -f test.log ...
随机推荐
- 记Spring与跨域
跨域 简单理解就是跨域名 (ip+端口) 在 52liming.com 中向demo.com中发起Ajax请求, 出于安全考虑会进行拦截 参考: 浏览器的同源策略 什么是JS跨域访问? 跨域资源共享 ...
- 项目中遇到的问题——jsp:include
昨晚记错了,项目中用的是这个<jsp:attribute>,不过没关系,都差不多!原理是传参数 具体用法: 假设有两个tag文件 aaa 和 bbb aaa有两个属性:name age ...
- 使用jQuery的validation插件实现表单校验
前端表单校验: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Cookie介绍
1.Http协议与Cookie Cookie(小量信息)是HTTP协议指定的!先由服务器保存Cookie到浏览器,而下次浏览器请求服务器时把上一次请求得到Cookie再归还给服务器 由服务器创建保存到 ...
- C# 读取excel用户列表过滤一个月内未收到外部邮件已离职的员工
1.通过aspose.cells读取excel中的数据并添加到list中 //存储从excel中读取出来的数据 List<UserInfo> lst_userinfo = new List ...
- 编辑文本(EditText)
今天要给大家介绍的是简单的编辑文本框: 先看一下它的基本属性: 1.Activity public class EditTextActivity extends Activity { private ...
- Android ImageSpan的使用
编辑框中加图片 代码如下: mSubjectDetailView = (TextView) findViewById(R.id.subject_detail); CharSequence text = ...
- 获取所有后缀DDE打开命令
概述: 由于需要使用DDE方式打开文件,所以把支持DDE方式打开文件的参数都导出来到文件,方便查找. 并且提供运行DDE命令的工具,可以用于测试DDE功能. 1.运行脚步GetDDE.vbs可以获取系 ...
- mac自动生成路径问题
使用myBatis的逆向工程,一直无法生成.最后找同事帮忙,最终发现是 :路径前面少加一个反斜杠... 也就是 mac的绝对路径 前面需要加上 反斜杠.
- configparser logging collections 模块
configparser 模块: 这是一个写入的模块就是把你的信息给写入的模块 #这是一个把信息写入example文件内import configparserconfig = configparser ...