Linux 命令 —— grep、tail、head、cat、more、less(查看日志常用命令)
文章目录
- 查看日志常用命令
- grep 命令
- tail 命令
- head 命令
- cat 命令
- more 命令
- less 命令
查看日志常用命令
grep tail、head、cat、more、less
grep 命令
grep [options] PATTERN filename:查找日志文件中的 PATTERN 关键字,用于过滤/搜索的特定字符。PATTERN 要搜索的模式,可以是字符串或正则表达式。
-
日志查找
-
查找字符串
grep “error” filename.txt
-
-i:查找字符串忽略大小写
grep -i “error” filename.txt
-
-r:递归查找子目录中的文件
grep -r “error” /var/log/
-
-n:查找字符串并显示所在行的行号
grep -n “error” filename.txt
-
-v:查找不包含该字符串的所有行
grep -v “error” filename.txt
-
-w:精确匹配,完全匹配字符串的行,而不是字串
grep -w “error” filename.txt
-
-A <显示行数> :除了显示符合范本样式的那一列之外,并显示该行之后的内容。
grep -A 10 ‘keywords’ service.log
-
-B <显示行数> :除了显示符合样式的那一行之外,并显示该行之前的内容。
grep -B 10 ‘keywords’ service.log
-
-C <显示行数> :除了显示符合样式的那一行之外,并显示该行之前后的内容
grep -C 10 ‘keywords’ service.log
-
-F:将模式视为固定字符串,而不是正则表达式。即使模式中包含特殊字符,这些字符也不会被解释。
grep -F “*” service.log
-
-
或操作
-
-e:指定字符串做为查找文件内容的样式,可以用于在指定的文件中搜索多个模式。
grep -e PATTERN1 -e PATTERN2 … filename。 // 找出匹配 PATTERN1 或 PATTERN2 的所有行
-e PATTERN 指定要匹配的模式,可以使用多个
-e选项来指定多个模式。 -
-E:将样式为延伸的正则表达式来使用,是用于启用扩展正则表达式(ERE)的 grep 命令选项,这使得用户能够使用更复杂的模式匹配功能。
grep -E ‘str1|str2|str3’ filename。 // 找出文件(filename)中包含 str1 或者包含 str2 或者包含 str3 的行。
grep -E “a+” filename.txt。 // 查找包含一个或多个 “a” 的行。
grep -E “o{3}” filename.txt // 查找包含恰好三个 “o” 的行。
-
-
与操作
-
可以将
grep组合在一起,通过管道过滤匹配达到一行同时匹配多个关键字的效果:grep “pattern1” filename | grep “pattern2” :显示既匹配 pattern1 又匹配 pattern2 的行。
首先查找包含 “pattern1” 的行,然后从中进一步筛选出包含 “pattern2” 的行。
-
还可以使用 -E 延伸的正则表达式来实现
grep -E “pattern1.*pattern2|pattern2.*pattern1” filename
通过匹配正则表达式 pattern1.*pattern2 或 pattern2.*pattern1 的行,这两个表达式同时包含了 pattern1 和 pattern2。
-
tail 命令
tail 命令用于显示文件的最后几行内容。
tail [必要参数] [选择参数] [文件]
-f 循环读取:实时跟踪文件的新增内容,持续输出文件的新内容,直到用户手动停止。用于监控日志文件的变化。
- tail -f service.log
-n<行数> 显示的行数。
- tail -n 100 service.log 查询最后100行的日志
- tail -n +100 service.log 从第100行开始查看日志
- tail -n -1000 service.log | more -100 从倒数第1000行开始查看日志,可以使用 ctrl + f 或者空格键每次向下翻页100行
按 ctrl + c 退出 tail 命令
head 命令
head 命令行用于显示文件的前几行内容。
head 命令和 tail 相反,查看前多少行日志。
- head -n 100 service.log 查询前100 行的日志
- head -n -100 service.log 查询所有日志除了最后100行
按 ctrl + c 退出 head 命令
cat 命令
cat 命令用于连接和显示文件内容。
显示文件内容:cat 可以直接在终端中显示一个或多个文件的内容。
- cat file1.log file2.log
连接文件:可以将多个文件的内容连接在一起并输出到一个新文件。
- cat file1.log file2.log > file3.log
创建文件:可以通过标准输入创建新文件。
- cat > filename.log
追加内容到文件:将标准输入追加到文件 filename 的末尾。
- cat >> filename.log
使用管道:将 cat 命令的输出作为另一个命令的输入。
- cat filename.log | command。如:cat filename.log | tail -n 10 查看文件最后10行
查看日志
-
查看日志内容
- 查看所有日志内容。cat 命令是整个文件的内容从上到下显示在屏幕上。
cat service.log
-
-n:查看所有日志内容,并为所有输出行编号。
cat -n service.log
-
-b:查看所有日志内容,并为非空输出行编号,不对空行编号。
cat -b service.log
-
-s:压缩多个连续的空行,只显示一个空行。
cat -s service.log
-
-e:在每行的末尾显示
$符号,以标记行的结束。cat -e service.log
-
cat service.log | grep 关键字 全文查找匹配关键字的日志
-
zcat credit-platform-core.log-2024-01-* | grep -2 “Duplicate entry”
正则匹配所有压缩文件并查找指定关键字。
按 ctrl + c 退出 cat 命令
more 命令
more 命令和 cat 的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。more 命令一次性读取整个文件并显示,在处理大文件时会比较慢。
-
查看日志
-
简单使用
more service.log
-
-n: 设置每页显示的行数。
more -5 filename.txt将每页显示 5 行。
-
-
字符串搜索
/字符串:向下搜索“字符串”的功能
n:向下搜索下一个匹配的搜索结果(与 / 有关)
-
翻页
[Space]: 向下翻动一页
[b]: 向上翻动一页(在某些系统中可能不支持)
[d]:向下翻半页(在某些系统中可能不支持)
[Enter]:向下滚动一行
-
more命令可以与管道(|)结合使用结合其他命令如tail、cat 或 grep 查看内容:cat service.log | more 或 grep “error” service.log | more
按 q 退出 less 命令
less 命令
less [参数] 文件
less 命令同 more 命令一样,是对文件或其它输出进行分页显示的工具,但比 more 命令更强大。
less 与 more 对比:1、more 支持基本的搜索,但功能较为有限。less 提供强大的搜索功能,支持正则表达式搜索,搜索时高亮显示匹配结果;2、more 一次性读取整个文件并显示,尤其在处理大文件时会比较慢。less 按需加载文件内容,只在需要时读取部分数据(这意味着当打开一个大文件时,它不会一次性读取整个文件),加载速度更快,尤其适合大文件。3、more 功能较为简单,选项有限。less 提供多种选项和参数,支持行号显示、行截断、批处理模式等。4、 less 退出后 shell 不会留下刚显示的内容,而 more 退出后会在 shell 上留下刚显示的内容
-
查看日志
-
简单使用
less service.log
-
-N 查看日志并显示每行的行号
less -N service.log
-
-S 不换行查看日志
less -S service.log
-
-X 查看日志,退出时不清楚屏幕
less -X service.log
-
-
字符串搜索
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:向下搜索下一个匹配的搜索结果(与 / 或 ? 有关)
N:向上搜索上一个匹配的搜索结果(与 / 或 ? 有关)
-
翻页
[pagedown]、[Space]、[组合键 ctrl + F]: 向下翻动一页
[pageup]、[b]、[组合键 ctrl + B]: 向上翻动一页
[d]、[组合键 ctrl + D]:向下翻半页
[u]、[组合键 ctrl + U]:向上翻半页
[Enter]、[j]:向下滚动一行
[y]、[k]:向上滚动一行
[G]:移动到最后一行
[g]:移动到第一行
-
less 命令可以与管道(
|)结合使用,以便于查看其他命令的输出。这种用法特别适合处理大量输出数据,允许用户逐页查看结果而不是一次性输出到终端。结合其他命令如tail、cat 或 grep 查看内容。逐页查看长文件的内容
- cat service.log | less
结合
grep来搜索文件中的内容:-
grep “error” service.log | less
grep从service.log文件中查找包含 “error” 的行,将匹配的结果通过管道传递给less进行分页显示,且可以使用less的导航和搜索功能逐页查看这些结果。 -
less service.log | grep “error”
less打开service.log文件,并允许你查看文件内容。在less中执行grep "error"这一命令(这实际上不会直接工作,因为less并不将输出传递给grep,而是会被认为是less的内部命令)。less 并不支持将其内容直接通过管道传递给 grep。使用结果看到 error 会标红。如果在
less中想要高亮显示 “error” 的行,可以使用/或?进行搜索。less service.log 查看日志,然后在less中输入/error,按回车即可找到相关行。
按 q 退出 less 命令
相关文章:
Linux 命令 —— grep、tail、head、cat、more、less(查看日志常用命令)
文章目录 查看日志常用命令grep 命令tail 命令head 命令cat 命令more 命令less 命令 查看日志常用命令 grep tail、head、cat、more、less grep 命令 grep [options] PATTERN filename:查找日志文件中的 PATTERN 关键字,用于过滤/搜索的特定字符。PAT…...
知识见闻 - 美国连线杂志
https://www.wired.com/ WIRED 杂志是一份月刊,重点关注新兴技术如何影响文化、经济和政治。在快速变革的世界中,它已成为信息和思想的重要来源。 WIRED magazine is a monthly publication that focuses on how emerging technologies impact culture, …...
多线程的状态及切换流程
多线程的状态及切换流程 线程状态说明: 初始化(Init):该线程正在被创建。就绪(Ready):该线程在就绪列表中,等待 CPU 调度。运行(Running):该线程…...
[Python学习日记-47] Python 中的系统调用模块—— os 与 sys
[Python学习日记-47] Python 中的系统调用模块 简介 os sys 简介 os 模块和 sys 模块提供了很多允许你的程序与操作系统直接交互的功能。下面将进行逐一介绍。 os 一、os.getcwd() 得到当前工作目录,即当前 Python 脚本工作的目录路径(绝对路径&#…...
Linux系统——lvm逻辑卷
Linux系统——lvm逻辑卷 一、lvm逻辑卷1、lvm操作流程2、操作指令 二、逻辑卷操作1、创建逻辑卷1.1 /dev/cloud/openstack 5G xfs /cloud/openstack1.2 /dev/cloud/docker 10G ext4 /cloud/docker 2、逻辑卷扩容2.1 扩容流程2.2 需求一:扩容ext4文件系统的逻辑卷2.3…...
一键快捷回复软件助力客服高效沟通
双十一临近,电商大战一触即发!在这个购物狂欢的热潮中,客服团队的效率至关重要。今天我要和大家分享一个非常实用的快捷回复软件,特别是为电商客服小伙伴们准备的。这款软件能够极大地提高你的工作效率,让你在处理客户…...
初识Linux之指令(二)
一:head指令 head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head 用来显示档案的 开头至标准输出中,而 tail 想当然尔就是看档案的结尾。 语法:head 【参数】 【文件】 功能&…...
在深度学习中,Epoch、迭代次数、批次大小(Batch Size)和学习速率(Learning Rate)是影响模型训练效果的重要超参数。
1. Epoch 定义:Epoch是指整个训练数据集被完整地用来训练一次。影响:增加Epoch的数量可以使模型更充分地学习数据。然而,过高的Epoch可能导致过拟合,即模型在训练集上表现良好,但在测试集上表现不佳。设置:…...
研究学习的循环递进三段论
在研究学习,编程语言、编译器、计算机科学、类型论、集合论等多门学科及分支后,我貌似隐隐约约地感受到,研究学习的过程分为三个阶段,我称之为研究学习的三段论,其中的段,是阶段的意思。对应了,…...
Linux下如何将代码提交至Gitee
首先在gitee中创建自己的仓库. 下面是已经创建好的仓库 然后复制仓库的链接(点击上图克隆/下载) 接下来打开linux, 1.在命令行输入git clone 链接 2. 输入ll,即可看到linux-course项目仓库 3.cd linux-courses(进入项目仓库) 4.在仓库中可以随意增加文件 例如增加test.c文件…...
【MATLAB源码-第181期】基于matlab的32QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。
操作环境: MATLAB 2022a 1、算法描述 在通信系统中,频率偏移是一种常见的问题,它会导致接收到的信号频率与发送信号的频率不完全匹配,进而影响通信质量。在调制技术中,QPSK(Quadrature Phase Shift Keyi…...
24年856电子线路专业课考场回忆
856考试包含了模电与数电两大部分,24年题型结构为14题选择与14填空,上去大约花了半个小时搞定,唯一记得有几个纠结点:1、开关型稳压电路中开关管怎么接是升压,2、字扩展与位扩展的区别。 接下来就是第三部分的分析计算…...
el-table表格里面有一条横线
表格里面 有一条横线, 出现原因:是自定义了表格头.使用了固定列(fixed),定宽。就很难受。。。 添加样式文件: <style lang"scss" scoped>::v-deep {.el-table__fixed-right {height: 100%…...
QT通过QLocalSocket和QSharedMemory实现进程间通信
文章目录 QLocalSocket和QLocalServer客户端服务端QSharedMemory加载数据到共享内存从共享内存中读取数据进程间通信(Inter-Process Communication, IPC)是指在不同进程之间进行数据交换和消息传递的机制。由于不同进程之间在内存和资源使用上的隔离,IPC 是操作系统提供的一种…...
Python中的数据可视化艺术:用Matplotlib和Seaborn讲故事
Python中的数据可视化艺术:用Matplotlib和Seaborn讲故事 数据可视化不仅仅是图表的绘制,更是通过视觉形式传达复杂信息的一种艺术。使用Python中的两个强大的库——Matplotlib和Seaborn,可以将数据转化为清晰、优美的图表,帮助我…...
python机器学习(手写数字识别)
# 导包 import matplotlib.pyplot as plt import pandas as pd from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsClassifier import joblib from collections import Counter # 1. 定义函数 show_digit(idx), 用于查看: 数字图…...
如何针对项目中的技术难点准备面试?——黑马点评为例
最核心的,包装和准备 个人项目,怎么包装?一定要写出代码才可以吗? 你可以在系统A中实现就可以,了解其中实现的细节,怎么跟面试官对线等等,这些话术到位了之后,再把它融入到系统B&a…...
ARP欺骗的多种手法
学习参考: ARP欺骗的各种d玩法-CSDN博客 https://juejin.cn/post/7383702153892954164 一、什么是ARP欺骗 1.什么是ARP? ARP (Address Resolution Protocol) 是一种网络层协议,用于将 IP 地址转换为物理地址(MAC 地址࿰…...
HCIA——one
推荐电影:《模仿游戏》《黑客帝国》《头号玩家》 图灵机每秒五千次计算,当今计算机4080ti算力每秒21万亿次的计算。 OSI七层模型 应用层:人机交互,将抽象语言转换成编码 表示层:将编码转换成二进制 介质访问控制层…...
【vue】⾃定义指令+插槽+商品列表案例
代码获取 07-⾃定义指令插槽商品列表案例 ⼀、⾃定义指令 1. 基本使⽤ 1.1 指令介绍 内置指令:v-model、v-for、v-bind、v-on… 这都是Vue给咱们内置的⼀些指令,可以直接使⽤ ⾃定义指令:同时Vue也⽀持让开发者,⾃⼰注册⼀些…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
Python 高效图像帧提取与视频编码:实战指南
Python 高效图像帧提取与视频编码:实战指南 在音视频处理领域,图像帧提取与视频编码是基础但极具挑战性的任务。Python 结合强大的第三方库(如 OpenCV、FFmpeg、PyAV),可以高效处理视频流,实现快速帧提取、压缩编码等关键功能。本文将深入介绍如何优化这些流程,提高处理…...
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码:HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...
Vue3中的computer和watch
computed的写法 在页面中 <div>{{ calcNumber }}</div>script中 写法1 常用 import { computed, ref } from vue; let price ref(100);const priceAdd () > { //函数方法 price 1price.value ; }//计算属性 let calcNumber computed(() > {return ${p…...
