linux查看日志的几种方式

一、cat命令

1.使用cat命令:通过cat命令可以直接打开并显示文本文件内容,包括日志文件。例如,要查看名为logfile.txt的日志文件,可以运行以下命令:cat logfile.txt

常用命令:cat -n filename | grep “关键字”

其他情况:

cat filename | grep -C 5 ‘关键字’ (显示日志里匹配字串那行以及前后5行)

cat filename | grep -B 5 ‘关键字’ (显示匹配字串及前5行)

cat filename | grep -A 5 ‘关键字’ (显示匹配字串及后5行)

cat 命令参数详解

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

二、less命令

线上出问题的时候,我们常用tail -n 或者 tail -f 或者grep 或者 vi cat等各种命令去查看异常信息,但是日志是在不停地刷屏,tail是动态的在变的,我们往往期望从日志最后一行往前一页一页的翻页查看,从而找到异常信息,而​​​​​​​less命令我觉得是最实用和方便的。

一个日志文件中 我们想从日志的最后一行往前查看 ,就可以用less命令。

第一步:打开日志文件 less sigma.log
第二步:定位到日志文件的最后一行:shift+g移动到最后一行
第三步:ctrl+b往前一页一页翻页查看

1.全屏导航

ctrl + F - 向前移动一屏

ctrl + B - 向后移动一屏

ctrl + D - 向前移动半屏

ctrl + U - 向后移动半屏

2.单行导航

j - 向前移动一行

k - 向后移动一行

3.其它导航

G - 移动到最后一行

g - 移动到第一行

q / ZZ - 退出 less 命令

三、tail命令

 tail命令可以用于查看最后几行日志信息。默认情况下,tail会显示文件的最后十行。例如,要查看名为logfile.txt的日志文件的最后五行,可以运行以下命令:tail -n 5 logfile.txt

最常用的:tail -f filename (默认最后10行,相当于增加参数 -n 10) 

Ctrl+c 是退出

其他情况:

tail -n 20 filename (显示filename最后20行)

tail -n +5 filename (从第5行开始显示文件)

tail 命令参数详解 

-f 循环读取

-q 不显示处理信息

-v 显示详细的处理信息

-c<数目> 显示的字节数

-n<行数> 显示行数

--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.

-q, --quiet, --silent 从不输出给出文件名的首部

-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

四、 vi/vim命令

1、进入vim编辑模式:vim filename

2、输入“/关键字”,按enter键查找

3、查找下一个,按“n”即可

退出:按ESC键后,接着再输入:号时,vi会在屏幕的最下方等待我们输入命令

wq! 保存退出;

q! 不保存退出;

其他情况:

/关键字 注:正向查找,按n键把光标移动到下一个符合条件的地方
?关键字 注:反向查找,按shift+n 键,把光标移动到下一个符合条件的

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

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

相关文章

echarts地图map鼠标移入区域颜色(渐变)

鼠标移入透明 itemStyle下 emphasis属性 itemStyle: {// # 在未设置dataRange或 visualMap时设置有效normal: {// borderColor: rgba(12, 222, 255, 1),// borderWidth: 0.8,areaColor: {type: linear-gradient,x: 0,y: 300,x2: 0,y2: 0,colorStops: [{offset: 0,color: rg…

Unix进程间通信之简介-总体概述和引子

目录标题 0. 前言1. 概述2. 进程、线程与信息共享3. IPC对象的持续性4. 名字空间5. fork、exec和exit对IPC对象的影响6. 出错处理&#xff1a; 包裹函数7. Unix标准8. 小结 0. 前言 进程间通信这块是学习linux-c编程的关键&#xff0c; 这篇为后续进程间通信技术的引子篇&#…

jdk多版本切换环境变量管理(jdk1.8和jdk17)

jdk多版本切换环境变量管理&#xff08;jdk1.8和jdk17&#xff09; 看了很多网上的博客&#xff0c;根本都不行&#xff0c;我总结出来规律如下&#xff1a; 首先环境变量要配置成这个样子&#xff1a;这些博客都会教你们配 接着配什么classpath&#xff0c;看其他博客就行 还…

Gitee基础知识

目录 1-gitee 1.1gitee介绍 1.2git与gitee的关系 1.3在国内为什么选择Gitee 2-注册与创建远程仓库 2.1注册 2.2创建远程仓库 2.3配置ssh公钥 2.3.1公钥的生成方法&#xff1a; 2.3.2 在gitee中配置公钥 2.3.4验证公钥 3-添加与推送远程仓库master 3.1基本命令…

go mod indirect

在 Go 语言中&#xff0c;"indirect" 标记的 require 子句通常是由 Go 模块系统自动生成的&#xff0c;而不是手动维护的。 当一个模块直接依赖于另一个模块&#xff0c;而后者又依赖于第三个模块时&#xff0c;Go 模块系统会自动检测并生成 "indirect" 标…

【1.9计算机组成与体系结构】总线

目录 1.总线的定义2.总线的分类 1.总线的定义 √ 总线是一组能为多个部件分时共享的公共信息传送线路。 &#x1f535; 共享 &#x1f535; 分时:是指同一时刻仅允许一个部件向总线发送信息&#xff0c;但允许多个部件同时从总线上接收相同的信息。 √ 串行总线 (适合长距离传…

拾陆[16],不带校正描述匹配模板,函数CreateUncalibDescriptorModel/FindUncalibDescriptorModel

函数CreateUncalibDescriptorModel 函数功能 创建一个不带校正透视描述符匹配模板 C形式 LIntExport void CreateUncalibDescriptorModel( const HObject& Template, const HTuple& DetectorType, const HTuple& DetectorParamName, const HTuple& Dete…

软件开发模型(架构师复习资料)

在计算机刚刚诞生的年代&#xff0c;计算机是一种只有天才才能掌握的工具。人们对软件的认知仅仅停留在程序的层面上&#xff0c;所谓的软件开发就是那些能够掌握计算机的天才们写的一些只有计算机才能理解的二进制序列。但随着技术的发展&#xff0c;软件的复杂度不断提高&…

1.0 ROS 主环境安装 VS 虚拟环境安装

1. ROS 主环境安装 VS 虚拟环境安装 1.1主环境安装 直接安装&#xff1a;ROS Melodic Morenia通常直接安装在Ubuntu或Debian的主操作系统环境中。这种方法简单直接&#xff0c;且能保证ROS的所有功能都能正常工作。系统级别的改动&#xff1a;在主环境中安装会对整个系统产生…

《ThreadLocal使用与学习总结:2023-12-15》史上最详细由浅入深解析ThreadLocal

由浅入深全面解析ThreadLocal 目录 由浅入深全面解析ThreadLocal简介基本使用ThreadLocal与synchronized的区别ThreadLocal现在的设计&#xff08;JDK1.8&#xff09;ThreadLocal核心方法源码分析ThreadLocalMap源码分析弱引用与内存泄露&#xff08;内存泄漏和弱引用没有直接关…

计算机网络:自顶向下第八版学习指南笔记和课后实验--网络层(控制平面)

网络层&#xff1a;控制平面 记录一些学习计算机网络:自顶向下的学习笔记和心得 Github地址&#xff0c;欢迎star ⭐️⭐️⭐️⭐️⭐️ 控制平面作为一种网络范围的逻辑&#xff0c;不仅控制沿着从源主机到目的主机的端到端路径间的路由器如何转发数据报&#xff0c;而且控制…

php中文乱码或html中文乱码

参考gpt 一、在PHP中解决中文乱码问题的常见方案有以下几种&#xff1a; 设置字符编码&#xff1a; 在你的PHP代码中&#xff0c;可以使用header函数设置正确的字符编码。常见的字符编码是UTF-8&#xff0c;可以使用以下代码将页面的字符编码设置为UTF-8&#xff1a; header(Co…

do{ __HAL_RCC_GPIOH_CLK_ENABLE(); }while(0);

使用STM32 HAL库&#xff0c;专门用于在STM32微控制器上启用GPIOH (GPIO端口H)时钟。在此代码片段中&#xff0c;宏__HAL_RCC_GPIOH_CLK_ENABLE()用于启用GPIOH的时钟。do-while(0)结构通常用作为宏定义创建单行代码块的技巧。以这种方式使用do-while(0)结构允许宏像函数调用一…

3.3 右值引用:移动语义与完美转发

一、移动语义的引入 1.浅拷贝带来的问题 对于存在资源(文件&#xff0c;指针)类型成员的类对象&#xff0c;在执行拷贝的时候存在资源管理的问题&#xff0c;这是浅拷贝导致的。 此时我们可以重写拷贝构造实现深拷贝&#xff0c;解决资源管理的问题。 但是有的时候拷贝并不…

python实现 Qlearning算法 完整的输入输出测试数据

Q-learning是一种强化学习算法&#xff0c;用于解决基于动作-奖励机制的问题。以下是一个简单的 Python 实现 Q-learning 算法的示例&#xff0c;以解决一个简单的迷宫问题。 import numpy as np# 创建迷宫示例&#xff0c;用数字表示迷宫状态 # 0表示可通行的空格&#xff0c…

Mybatis Plus 多个SQL分布在多个Jar包如何全部加载

目录 1、问题 2、解决办法 3、还是不行怎么办&#xff08;是的&#xff0c;我的就是两个项目一个行&#xff0c;一个还不行&#xff09; 4、原因 1、问题 系统有多个JAR包&#xff0c;各自配置了不同的SQL XML配置文件&#xff0c;启动项目POM里也已经配置做了依赖&#xf…

疑难杂症汇总

linux安装32位库 sudo apt-get install libc6-dev-i386 sudo apt-get install lib32z1 带gdb调试bochs 安装相关依赖&#xff1a; sudo apt install build-essential libx11-dev libxrandr-dev libsdl1.2-dev vgabios bximage 安装脚本&#xff1a;进入bochs目录执行即可 …

【JavaScript】Set方法

基本用法 ES6 提供了新的数据结构 Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成 Set 数据结构。 const s new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x > s.add(x));for (let i of s) {co…

【QT】QDockWidget控件的使用

目录 1.概述 2.常用函数介绍 3.QDockWidget布局相关 4.QDockWidget的使用注意事项 5.使用场景 6.简单应用示例代码 1.概述 QDockWidget类提供了一个小部件&#xff0c;可以停靠在QMainWindow中&#xff0c;也可以作为桌面上的顶级窗口浮动。 QDockWidget提供了dock Widg…

EMC测试与整改实践?|深圳比创达电子

电磁兼容(EMC)测试和整改是当今社会对电磁兼容(EMC)意识日益深入的表现&#xff0c;EMC测试与整改随着社会对电磁环境要求的不断提高&#xff0c;越来越受到重视&#xff0c;下面就EMC测试与整改实践进行一下详细介绍。 一、什么是EMC测试&#xff1f; EMC测试是指在一定的电…