linux下查看日志用到的常用命令

2023-05-16

linux下查看日志用到的常用命令

参考网址

https://mp.weixin.qq.com/s/NDXSXRhIWkE8fkYSDwcwXw

1.查看日志常用命令

tail:

​ -n 是显示行号;相当于nl命令;例子如下:

tail -100f test.log 实时监控100行日志

​ tail -n 10 test.log 查询日志尾部最后10行的日志;

​ tail -n +10 test.log 查询10行之后的所有日志;

head:

​ 跟tail是相反的,tail是看后多少行日志;例子如下:

​ head -n 10 test.log 查询日志文件中的头10行日志;

​ head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;

cat:

​ tac是倒序查看,是cat单词反写;例子如下:

cat -n test.log |grep “debug” 查询关键字的日志

2. 应用场景一:按行号查看—过滤出关键字附近的日志

1)cat -n test.log |grep “debug” 得到关键日志的行号

2)通常查找出错误日志 cat error.log | grep ‘nick’ , 这时候我们还有个需求就是输出当前这个日志的前后几行:

cat error.log | grep -B 5 ‘nick’ 显示nick及前5行

cat error.log | grep -A 5 ‘nick’ 显示nick及后5行

cat error.log | grep -C 5 ‘nick’ 显示file文件里匹配nick字串那行以及上下5行

cat error.log | grep -n -B10 -A10 5 ‘nick’ 显示file文件里匹配nick字串前后10行

3. 应用场景二:选取日志中特定范围进行分析

1)cat -n test.log |tail -n +1000|head -n 20 从第1000行开始,显示20行

​ tail -n +1000表示查询1000行之后的日志

​ head -n 20 则表示在前面的查询结果里再查前20条记录

2)cat catalina.out | head -n 1400| tail -n +1350 显示1350行到1400行 (实现原理都差不多,就是通过语法糖)

(1)按日期截取 :一般在日志系统中都会记录打印日志的时间,通常我们非常需要查找指定时间端的日志:

sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log

特别说明:该命令中的两个日期值必须是日志文件中包含的值,否则该命令无效.; 先 grep ‘2014-12-17 16:17:20’ test.log 来确定日志中是否有该 时间点

(2)按行数截取

sed -n ‘10000,20000p’ test.log

sed -i ‘/关键词/d’ catalina.out 删除包含关键词的行

4.应用场景三:日志内容特别多,打印在屏幕上不方便查看

(1)使用moreless命令,

​ 如:cat -n test.log |grep “debug” |more 这样就分页打印了,通过点击空格键翻页

(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析

​ 如:cat -n test.log |grep “debug” >debug.txt

5:使用管道进行and or条件处理

and 使用管道实现 例如: grep -n ‘日志排查’ test.log | grep ‘日志’

or 用-E 例如:grep -n -E ‘日志排查|hello’ test.log 满足两个关键字的都可以找出来

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux下查看日志用到的常用命令 的相关文章

  • ssh 连接超时

    我无法在 git 中 ssh 到 github bitbucket 或 gitlab 我通常会收到以下错误消息 如何避免它 输出 ssh T email protected cdn cgi l email protection i ssh
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 为什么 Linux 没有 DirectX API?

    在考虑现代显卡的 Windows 系统上 DirectX API 的驱动程序端实现时 我想知道为什么此实现在非 Windows 系统 尤其是 Linux 上不可用 由于明显缺乏此功能 我只能假设有一个我无视的充分理由 但在我的原始理解中 我
  • 在 C 中使用单个消息队列是否可以实现双向通信

    我希望服务器向客户端发送一些消息 并让客户端确认它 我被分配了这个任务 我可以在 C linux 中使用单个消息队列来完成它还是我需要创建两个 谢谢 是的 可以使用 sysV 消息队列来做到这一点 从您之前的问题来看 您正在使用该队列 您可
  • Google BQ:运行参数化查询,其中参数变量是 BQ 表目标

    我正在尝试从 Linux 命令行为 BQ 表目标运行 SQL 此 SQL 脚本将用于多个日期 客户端和 BQ 表目标 因此这需要在我的 BQ API 命令行调用中使用参数 标志 parameter 现在 我已经点击此链接来了解参数化查询 h
  • 在 .gitconfig 中隐藏 GitHub 令牌

    我想将所有点文件存储在 GitHub 上 包括 gitconfig 这需要我将 GitHub 令牌隐藏在 gitconfig 中 为此 我有一个 gitconfig hidden token 文件 这是我打算编辑并放在隐藏令牌的 git 下
  • Linux 上的 Pervasive ODBC 错误 [01000][unixODBC][驱动程序管理器]无法打开 lib '/usr/local/psql/lib/odbcci.so':找不到文件

    我正在尝试让 Pervasive v10 客户端 ODBC 在 Centos 6 上运行 据我所知 没有 64 位 ODBC 客户端 因此我必须使用 32 位客户端 我终于成功安装了它 但尝试使用时出现以下错误 isql v mydsn 0
  • 从 ttyUSB0 写入和读取,无法得到响应

    我对 Linux tty 不太有经验 我的环境是带有丰富 USB 串行的 Raspbian 什么有效 stty F dev ttyUSB0 38400 cu l dev ttyUSB0 s 38400 cu to dev ttyUSB0作品
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 从 Xlib 转换为 xcb

    我目前正在将我的一个应用程序从 Xlib 移植到 libxcb 但在查找有关我有时使用的 XInput2 扩展的信息时遇到了一些麻烦 libxcb 中有 XInput2 实现吗 如果是的话 在哪里可以找到文档 目前我在使用此功能时遇到问题
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 如何在 Linux 中使用 C 语言使用共享内存

    我的一个项目有点问题 我一直在试图找到一个有据可查的使用共享内存的例子fork 但没有成功 基本上情况是 当用户启动程序时 我需要在共享内存中存储两个值 当前路径这是一个char and a 文件名这也是char 根据命令参数 启动一个新进
  • linux下如何从文本文件中获取值

    我有一些文本格式的文件 xxx conf 我在这个文件中有一些文本 disablelog 1 当我使用 grep r disablelog oscam conf 输出是 disablelog 1 但我只需要值1 请问你有什么想法吗 一种方法
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • 使用os.execlp时,为什么`python`需要`python`作为argv[0]

    代码是这样的 os execlp python python child py other args this works os execlp python child py other args this doesn t work 我读过
  • cdc_acm:无法设置 dtr/rts - 无法与 USB cdc 设备通信

    我试图使用 pic24fj128gb206 枚举 usb cdc 设备 设备似乎已正确枚举 但是当我将设备连接到 Linux PC 时 我从内核收到以下警告消息 cdc acm 1 8 1 6 7 1 0 failed to set dtr
  • 如何让 Node.js 作为后台进程运行并且永不死掉?

    我通过 putty SSH 连接到 linux 服务器 我尝试将其作为后台进程运行 如下所示 node server js 然而 2 5 小时后 终端变得不活动 进程终止 即使终端断开连接 我是否也可以使进程保持活动状态 Edit 1 事实
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • Windows使用阿里云RAM访问控制API实现自建DDNS动态域名解析

    前言 因为最近将家里的电信宽带换成了公网IP xff0c 在二手鱼上面淘了点破烂 xff0c 搭建了一些服务 xff08 比如NAS xff09 而电信的公网IP并不是固定的 xff0c 要想持续稳定的访问到搭建的服务 xff0c 我们可以
  • 使用rsync每天自动进行远程增量备份的shell脚本

    rsync incremental backup 可配置的bash脚本 xff0c 使用rsync将数据的增量备份发送到本地或远程目标 项目地址 xff1a https github com pedroetb rsync increment
  • 使用docker-compose搭建Nextcloud个人云盘并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建Nextcloud xff0c 并且使用
  • 使用docker-compose搭建WordPress网站并开启https教程

    一 前言 之前一直采用LANMP直接搭建服务 xff0c 但后来使用docker后 xff0c 搭建和迁移数据都很方便 xff0c 所以将服务都容器化 下面介绍一下使用docker compose搭建WordPress网站 xff0c 并且
  • 使用Docker搭建自己的在线密码管理器软件-Bitwarden

    前言 因为现在网络安全问题愈发严重 xff0c 黑客经常通过互联网已泄露的用户和密码信息进行撞库攻击 xff0c 而且很多用户在不同网站使用的是相同的帐号密码 xff0c 所以为不同的网站设置不同的密码就非常重要 但密码不同尤其是使用随机生
  • 如何在Docker容器里开启fail2ban防止SSH暴力破解

    一 前提介绍 Docker容器里开启了SSH服务 xff0c 但是发现有大量的暴力破解进程 xff0c 需要使用fail2ban防止SSH暴力破解 xff0c 将攻击的IP拉黑 二 原因分析 但是直接安装fail2ban xff0c 和没有
  • PT工具之Docker全家桶+HTTPS详细配置教程

    一 前言 因为使用Docker的隔离性 可移植性比较好 xff0c 所以自己使用的服务一般都使用Docker部署 xff0c 这样每次迁移时将挂载的目录备份即可 xff0c 不需要考虑机器的版本和兼容性 xff0c 更换设备时基本可以做到一
  • 【原理篇】qBittorrent下载+转种Transmission快校版+IYUU Plus辅种教程

    一 前言 之前写了篇教程 xff0c PT工具之Docker全家桶 43 HTTPS详细配置教程 xff0c 主要讲述了使用Docker部署常用工具及反向代理上https xff0c 之前预告过还写一篇辅种教程合集的 xff0c 故有了此篇
  • 【操作篇】qBittorrent下载+转种Transmission快校版+IYUU Plus辅种教程

    一 前言 之前写了篇教程 xff0c PT工具之Docker全家桶 43 HTTPS详细配置教程 xff0c 主要讲述了使用Docker部署常用工具及反向代理上https 之前预告过还写一篇辅种教程合集的 xff0c 故有了此篇教程 xff
  • Android&Kotlin——EditText遇到类型不匹配错误

    前言 最近一直使用Kotlin开发Android应用 xff0c 今天刚好遇到一个关于EditText的错误 xff0c 记录一下 报错详情 Type mismatch inferred type is String but Editabl
  • PT教程之手动为IYUU站点增加流控步骤

    1 进入容器 使用ssh登陆你的机器 xff0c 输入下面的命令进入iyuu容器 xff0c 如果本地安装的话不需要这个步骤 docker span class token builtin class name exec span it i
  • Linux系统如何禁用IPv6以解决连接超时问题

    Linux系统如何禁用IPv6以解决连接超时问题 文章来源 xff1a https www yingsoo com news servers 55619 html IPv6和IPv4同属于网络协议 xff0c 在Linux系统中 xff0c
  • C语言中的左移位和右移位

    移位操作只是简单地把一个值的位向左或右进行移动 1 左移位 符号 xff1a lt lt 在左移位中 xff0c 之最左边的几位被丢弃 xff0c 右边多出来的几个空位则由0进行补齐 例如 xff1a 01101101 lt lt 3 结果
  • uva10369 - Arctic Network(北极网络)

    最小生成树的变形 最小生成树只能有n 1条边 所以我们有无线资源的时候 xff0c 为了尽量发挥这些昂贵资源的价值 xff0c 我们把这些资源用到最小生成树的最长的s个边上 即 xff0c 求最小生成树的第p s个边 include lt
  • 解决办法:/usr/bin/env: “bash\r“: 没有那个文件或目录

    最近在github上download了一个程序但是总是有点问题 解决办法 xff1a 1 使用VIM打开该文件 按一下ESC 输入 span class token operator span set ff 千万别少了 span class
  • Windows 10 安装并迁移 Ubuntu18.04

    控制面板 程序 程序和功能 启用或关闭windows功能 xff0c 勾选适用于Linux的windows子系统 进入win10应用商店 xff0c 安装并启动 修改成阿里云的软件源 sudo mv etc apt sources list
  • Oracle 12c修改sys用户密码

    oracle12c修改用户密码有个跟之前版本的Oracle数据库修改密码有个差异的地方 这里有个概念叫做插件式数据库 xff08 pluggable database xff09 除了默认的数据库之外 xff0c 其他的都是插件式的 xff
  • linux上的squid的安装及配置

    一 squid简介 Squid是一个缓存Internet 数据的软件 xff0c 其接收用户的下载申请 xff0c 并自动处理所下载的数据 当一个用户想要下载一个主页时 xff0c 可以向Squid 发出一个申请 xff0c 要Squid
  • Apache 中文乱码问题解决方法

    已经不记得解决过多少次这个问题了 xff0c 但是每次都搞忘记 xff0c 备忘一下 服务器端 xff1a 61 61 61 61 61 61 修改httpd conf 在Redhat中放置的位置为 etc httpd conf 查找 xf
  • linux下查看日志用到的常用命令

    linux下查看日志用到的常用命令 参考网址 https mp weixin qq com s NDXSXRhIWkE8fkYSDwcwXw 1 查看日志常用命令 tail n 是显示行号 xff1b 相当于nl命令 xff1b 例子如下