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也⽀持让开发者,⾃⼰注册⼀些…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...