【Linux】日志命令行练习(持续更新)

文章目录

    • 前言
    • 环境
    • 情景
      • 1. 获取实时日志
      • 2. 关键字定位
      • 3. 关键字取并集
      • 4. 关键字取交集
      • 5. 关键字取差集
      • 6. 关键字实时日志捕获
      • 7. 关键词上下文打印
      • 8. 关键词滚动搜索
      • 9. 看最早的日志信息

前言

公司生产问题需要登录堡垒机排查。
没有日志平台的情况下,生产问题同样要求迅速响应,这里积累下常用的命令。

环境

  • Linux系统 本文是Centos7.9
  • 安装 Nginx
## 安装含有 nginx 的源
yum install epel-release## 安装 nginx
yum install nginx -y## 启动 nginx
/usr/sbin/nginx## 开启防火墙 (80端口)
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload## 进入访问日志目录
cd /var/log/nginx 

浏览器(http)访问服务器,看到如下页面说明环境准备完成
在这里插入图片描述

情景

以 nginx 的访问日志作为例子,结合查询情景,练习对应的命令。

1. 获取实时日志

  • 获取实时日志,默认打印倒数10行历史日志
tail -f access.log
  • 获取实时日志,指定打印历史行数
## 带出5行历史日志
tail -5f access.log## 效果同上
tail -n 5 access.log
  • 获取实时日志,屏蔽历史日志
tail -0f access.log

2. 关键字定位

  • less 命令, 看对应手册有一个结论:less 比 more 更强 (英语梗 less is more)
    less is more
  • 关键词检索
## grep 跟关键词
less access.log | grep '21:42'

3. 关键字取并集

##  \| 表达或的关系
less access.log | grep '21:42\|21:31'

4. 关键字取交集

##  连续使用 grep 可以做到交集的效果
less access.log | grep '21:42' | grep ''

5. 关键字取差集

## grep -v 表示过滤掉21:09所有记录,做到取差集的效果
less access.log | grep 'Safari' | grep -v '21:09'

6. 关键字实时日志捕获

## 只看Edg浏览器的实时访问记录
tail -0f access.log | grep 'Edg'

7. 关键词上下文打印

## -A 捕获到关键词所在行,并带出向后2行日志 (After)
less access.log | grep '/img/centos-logo' -A 2
## -B 捕获到关键词所在行,并带出前2行日志 (Before)
less access.log | grep '/img/centos-logo' -B 2
## -C 捕获到关键词所在行,并带出前后2行日志 (Before)
less access.log | grep '/img/centos-logo' -C 2

8. 关键词滚动搜索

  • 向前查找
## 进入less交互模式
less access.log ## 跳转到文件最后的部分
shift + g ## 键入向前查找命令
?## 向前继续查找
n## 退出交互界面
:q
  • 向后查找
## 进入less交互模式
less access.log ## 跳转到文件最后的部分
shift + g ## 键入向后查找命令
/## 向后继续查找
n## 退出交互界面
:q
  • 上下文翻阅
    上文介绍了向前和向后的查找方式,实际工作上需要来回看,使用 shirt + n 进行反向操作
    • 如果用 ? 向前查找,n 为向前查一个词 shirt + n 为向后查一个词
    • 如果用 / 向后查找, n 为向后查一个词 shirt + n 为向前查一个词

  • 结合 grep 缩小文本长度
## 同样执行less命令,可以继续使用上文的搜索技巧
less access.log | grep Chrome | less

9. 看最早的日志信息

一个比较有趣的命令 tac 来自于 cat

tac access.log | grep Edg

在这里插入图片描述
可以看到日志都被倒排了,最底部的即为最早的日志。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/695307.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】自主WEB服务器实现

自主web服务器实现 1️⃣构建TcpServer2️⃣构建HttpServer3️⃣构建HttpRequest和HttpResponseHttp请求报文格式Http相应报文读取、处理请求&构建响应读取请求中的一行读取请求中需要注意的点 4️⃣CGI模式判断是否需要用CGI处理请求构建任务&线程池管理 5️⃣实验结果…

《图解设计模式》笔记(二)交给子类

三、Template Method模式:将具体处理交给子类 示例程序类图 public static void main(String[] args) {// 生成一个持有H的CharDisplay类的实例AbstractDisplay d1 new CharDisplay(H);// 生成一个持有"Hello, world."的StringDisplay类的实例AbstractD…

C++ Linux多线程

1. C语言线程安全问题 1.1 线程安全问题 #include <stdio.h> #include <tinycthread.h> #include <io_utils.h>int count 0; int Counter(void*arg) {for(int i 0;i<100000;i){count;/** int temp count;* counttemp1;* return temp;* */}return 0; …

大模型训练流程(三)奖励模型

为什么需要奖励模型 因为指令微调后的模型输出可能不符合人类偏好&#xff0c;所以需要利用强化学习优化模型&#xff0c;而奖励模型是强化学习的关键一步&#xff0c;所以需要训练奖励模型。 1.模型输出可能不符合人类偏好 上一篇讲的SFT只是将预训练模型中的知识给引导出来…

Vue+SpringBoot打造大学兼职教师管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容三、界面展示3.1 登录注册3.2 学生教师管理3.3 课程管理模块3.4 授课管理模块3.5 课程考勤模块3.6 课程评价模块3.7 课程成绩模块3.8 可视化图表 四、免责说明 一、摘要 1.1 项目介绍 大学兼职教师管理系统&#xff0c;旨…

基于 QUIC 协议的 HTTP/3 正式发布!

近期&#xff0c;超文本传输协议新版本 HTTP/3 RFC 文档&#xff0c;已由互联网工程任务组&#xff08;IETF&#xff09;对外发布。HTTP/3 全称为 HTTP-over-QUIC&#xff0c;指在 QUIC&#xff08;Quick UDP Internet Connections, 快速 UDP 互联网连接&#xff09;上映射 HTT…

基于Java+小程序点餐系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

如何使用CanaryTokenScanner识别Microsoft Office文档中的Canary令牌和可疑URL

关于CanaryTokenScanner CanaryTokenScanner是一款功能强大的Canary令牌和可疑URL检测工具&#xff0c;该工具基于纯Python开发&#xff0c;可以帮助广大研究人员快速检测Microsoft Office和Zip压缩文件中的Canary令牌和可疑URL。 在网络安全领域中&#xff0c;保持警惕和主动…

Leo赠书活动-17期 《基础软件之路:企业级实践及开源之路》

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; 赠书活动专栏 ✨特色专栏&#xff1a;…

【网站项目】167校园失物招领小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Day10_面向对象-抽象类-接口-课后练习-参考答案

文章目录 代码编程题第1题第2题第3题 代码编程题 第1题 知识点&#xff1a;抽象类语法点&#xff1a;继承&#xff0c;抽象类按步骤编写代码&#xff0c;效果如图所示&#xff1a; 编写步骤&#xff1a; 定义抽象类A&#xff0c;抽象类B继承A&#xff0c;普通类C继承BA类中&…

Java,SpringBoot项目中,Postman的测试方法。

目录 展示查询搜索 根据id展示数据 根据id删除数据 根据id更新数据 添加数据 展示查询搜索 // 根据姓名分页查询用户GetMapping("/getUsersByName")public IPage<User> getUsersByName(RequestParam(defaultValue "1") Long current,RequestPar…

(っ•̀ω•́)っ 如何在PPT中为文本框添加滚动条

本人在写技术分享的PPT时&#xff0c;遇到问题&#xff1a;有一大篇的代码&#xff0c;如何在一张PPT页面上显示&#xff1f;急需带有滚动条的文本框&#xff01;百度了不少&#xff0c;自己也来总结一篇&#xff0c;如下&#xff1a; 1、找到【文件】-【选项】 2、【自定义功…

《深入浅出 Spring Boot 3.x》预计3月份发版

各位&#xff0c;目前本来新书《深入浅出 Spring Boot 3.x》已经到了最后编辑排版阶段&#xff0c;即将在3月份发布。 目录&#xff1a; 现在把目录截取给大家&#xff1a; 主要内容&#xff1a; 本书内容安排如下。 ● 第 1 章和第 2 章讲解 Spring Boot 和传统 Spri…

万界星空科技MES系统,实现数字化智能工厂

万界星空科技帮助制造型企业解决生产过程中遇到的生产过程不透明&#xff0c;防错成本高&#xff0c;追溯困难&#xff0c;品质不可控&#xff0c;人工效率低下&#xff0c;库存积压&#xff0c;交期延误等问题&#xff0c;从而达到“降本增效”的目标。打通各个信息孤岛&#…

深入解析SDRAM:从工作原理到实际应用

深入解析SDRAM&#xff1a;从工作原理到实际应用 在众多内存技术中&#xff0c;同步动态随机访问存储器&#xff08;SDRAM&#xff09;因其出色的性能和广泛的应用而备受关注。本文将从SDRAM的工作原理入手&#xff0c;探讨其性能优化策略和在现代电子设备中的应用。 SDRAM工作…

Meta 发布 MMCSG (多模态智能眼镜对话数据集)

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Redis突现拒绝连接问题处理总结

一、问题回顾 项目突然报异常 [INFO] 2024-02-20 10:09:43.116 i.l.core.protocol.ConnectionWatchdog [171]: Reconnecting, last destination was 192.168.0.231:6379 [WARN] 2024-02-20 10:09:43.120 i.l.core.protocol.ConnectionWatchdog [151]: Cannot reconnect…

【LeetCode】树的BFS(层序遍历)精选6题

目录 1. N 叉树的层序遍历&#xff08;中等&#xff09; 2. 二叉树的锯齿形层序遍历&#xff08;中等&#xff09; 3. 二叉树的最大宽度&#xff08;中等&#xff09; 4. 在每个树行中找最大值&#xff08;中等&#xff09; 5. 找树左下角的值&#xff08;中等&#xff09…

win10编译openjdk源码

上篇文章作者在ubuntu系统上实践完成openjdk源码的编译&#xff0c;但是平常使用更多的是window系统&#xff0c;ubuntu上编译出来JDK无法再windows上使用。所以作者又花费了很长时间在windows系统上完成openjdk源码的编译&#xff0c;陆续花费一个月的时间终于完成了编译。 本…