查看Linux系统中日志文件
Linux 系统中 Ubuntu,Debian,CentOS,RedHat 作为常用的服务器软件系统,很多人都已经熟知。不论是服务器出现问题,还是日常维护或各种环境搭建,我们经常需要登录上服务器查看日志。
如果熟知 Linux 下的 tail,cat,head,more,less 等命令,并会使用 vi 编辑器,在 Linux 系统中查看日志会是一件非常容易的事情。
“同事小杨,做java开发,一次他在CentOS系统上部署完服务后运行,发现服务异常,需要查看日志。就看小杨从容地打开 FileZilla 软件,SSH 到服务器,找到 log 日志文件,下载到本地。然后,他又使用 notepad++ 打开日志文件,通过 CTRL+F来查找异常信息和关键词。”
看到这里,不知你是否也这样,或你身边的也有这样的同事。你说这种查日志方式不对吗?不能说不对,因为目的达到了。问题是效率太低,也不够专业,这种方式也不能实时动态的观测日志。
如果你熟悉 Linux 系统,会那么几个常用的 Linux 命令,以上的场景就会是另一番景象。
“小杨通过SSH登录上 CentOS 服务器,一条 cd 命令进入日志文件所在目录。就看他不仅不慢的找到应用 log 日志文件,一条 tail -f app.log 执行过后,实时观测服务日志输出。突然,他看到了一条异常抛出日志,他果断 CTRL+C 中断了 tail 命令执行,仔细的看了看输出的异常日志。”
“日志输出太快,虽然短暂的看到了当前的日志,但为了找到更多关键信息,小杨熟练的在终端中输入vi app.log ,然后在vi命令模式下输入/关键字 快速匹配到了要找的日志内容。”
你看,这种场景下操作效率就很高,省去了你下载日志文件到本地再查找的问题时间,同时也更实时方便。
对于第一种场景,如果日志文件小,下载日志文件到本地查找也说的过去。如果日志文件是几百兆甚至几 G 的情况呢?你还要将日志文件下载到本地查找吗?先不说下载累不累,就什么时候下载下来都不好说。再说,你一不小心再把带宽给占了,下小片的同学就不乐意了。
说了这么多,终归是熟练掌握一些 Linux 命令和系统中的 vi 操作,对你的工作百利无一害。
下面我们重点讲讲Linux中常用的一些查看日志命令。
tail 命令
tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。
默认显示文件最后10行。
tail filename
动态跟踪文件新增内容,不断刷新输出,可以将文件中尾部最新的内容显示在屏幕上。
tail -f filename
指定显示文件尾部n行内容,例如。
tail -n 100 filename #显示文件尾部100行内容。
tail -n +100 filename #显示文件前100行内容。
tail -n -100 filename #除了前99行不显示外,显示第100行到末尾行。
更多关于tail命令的用法可以参看 如何在Linux中使用 tail 命令。
cat 命令
cat命令用于一次性在终端中显示文件的所有内容。
显示文件所有内容。
cat filename
显示文件并显示行号。
cat -n filename #由 1 开始对所有输出的行数编号。
cat -b filename #和 -n 相似,只不过对于空白行不编号。
和 tail、head 命令的配合使用
cat filename | tail -10 #显示文件后10行内容。
cat filename | head -10 #显示文件前10行内容。
cat -n filename | tail -10 #显示文件后10行,并显示其行号。
cat -n filename | head -10 #显示文件前10行,并显示其行号。
更多cat命令的使用可以在终端中通过man cat查看。
head命令
head 命令用于显示文件的开头内容,它和 tail 命令正好相反。
默认显示文件头10行。
head filename
显示开头指定n行的文件内容。
head -n 100 filename #显示开头起100行内容。
显示开头指定个数的字符数。
head -c 100 filename #显示开头起100个字符内容。
更多关于head命令的用法,可以在终端中输入man head查看。
more 和 less 命令
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。
more 命令和 cat 的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。
分页显示文件内容。
more filename #可以通过空格键或者CTRL+F翻页查看。
指定从n行开始显示日志内容。
more +n filename
从开始匹配到key关键词内容的头两行开始显示。
more +/key filename
更多关于more名称的用法,可以在终端中输入man more查看。
更多关于less名称的用法,可以在终端中输入man less查看。
仅以上面命令为引,举例说明常用的一些查看日志文件的命令。
还有一些常用的命令例如grep,sed,touch,find 等 linux 命令有待你慢慢熟悉掌握常用方法。
相关文章:
查看Linux系统中日志文件
Linux 系统中 Ubuntu,Debian,CentOS,RedHat 作为常用的服务器软件系统,很多人都已经熟知。不论是服务器出现问题,还是日常维护或各种环境搭建,我们经常需要登录上服务器查看日志。 如果熟知 Linux 下的 ta…...
技术干货|如何轻松完成空调管路的随机振动分析以及疲劳寿命预测
基于NVHD 的虚拟路面谱激励车内结构路噪优化 作者:戴相花 颜磊 吕霞 杨凯 单位:苏州三星电子有限公司 论文摘要 随机振动试验是评估空调管路流通振动耐久性的重要试验之一。本文以某型号空调管路系统为研究对象,评估空调管路随机振动疲劳…...
中英双语介绍中国的城市:上海市(Shanghai)
中文版 上海市是中国最大的城市之一,也是全球重要的金融、贸易和航运中心。作为一座现代化的国际大都市,上海以其繁华的商业区、丰富的文化遗产和多样化的经济结构而闻名。以下是对上海市的详细介绍,包括其地理位置、人口、经济、教育、文化…...
代码随想录算法训练营第75天:总结篇[1]
代码随想录算法训练营第75天:总结篇 代码随想录姑且是都过了一遍了,最开始了解到的时候还不会c语法,跟着学习还是有难度的,也很难坚持着去写题,后面决定加入训练营与大家齐头并进,刚开始气氛很好ÿ…...
眼动追踪技术 | 眼动的分类和模型
摘要 灵长类动物用于调整中央凹位置的正常眼动,几乎都可以归结为五种基本类型的组合:扫视、平稳追踪、聚散、前庭眼震和生理性眼震(与注视相关的微小运动)。聚散运动用于将双眼聚焦于远处的目标(深度知觉)。其他运动(如适应和聚焦)指的是眼动的非位置变…...
如何使用PHP根据输入文字动态调整图片尺寸?
根据文字改变图片尺寸的PHP代码 以下是一个使用PHP实现根据输入的文字动态调整图片尺寸的示例代码。该代码使用GD库来处理图片。 1. 创建HTML表单 首先,我们需要一个HTML表单来接受用户输入的文字和新的图片尺寸。 <!DOCTYPE html> <html lang"en…...
3.js - hdr贴图 是什么,有什么用
HDR贴图:High-Dynamic Range(高动态范围)贴图 一、定义与特点 定义:HDR贴图是具有高动态范围的环境贴图,能够捕捉并保留丰富的亮部细节和暗部细节,从而模拟出更加真实的光照效果。特点: 高动态…...
Nature Communications|用于电子皮肤的自主自愈晶体管(柔性半导体器件/电子皮肤/柔性电子)
2024年4月23日,韩国庆熙大学Jin Young Oh,美国斯坦福大学鲍哲南(Zhenan Bao)和韩国嘉泉大学Tae Il Lee团队,在《Nature Communications》上发布了一篇题为“Autonomous self-healing supramolecular polymer transistors for skin electronics”的论文。论文内容如下: 一…...
6月30日功能测试Day10
3.4.4拼团购测试点 功能位置:营销-----拼团购 后台优惠促销列表管理可以添加拼团,查看拼团活动,启动活动,编辑活动,删除活动。 可以查看拼团活动中已下单的订单以状态 需求分析 功能和添加拼团 商品拼团活动页 3…...
无人机对地面运动目标定位---获取目标的移动方向和速度
目录 一、引子 我们利用单目无人机通过等时间间隔拍照的形式对地面某移动目标进行定位,当前,我们已经获得了每张相片上该目标的三维坐标,并且知道该无人机在飞行过程中拍照的时间间隔,那么我们就可以通过一定的计算,得…...
管理才是最根本的核心竞争力
相信大家对于华为提出的“管理是核心竞争力”“管理才是企业的核心竞争力”等言论并不陌生,而华为的确也一直践行这样的理念。比如,在华为发展历史上很艰难的2002年,华为仍然坚持重点抓管理。总裁任正非后来提到:“2002年华为快崩…...
Raid阵列中硬盘损坏后,新硬盘可以直接换上吗?
RAID更换的方式基本类似,这里以RAID 1为例。 1. 关闭服务器:确保服务器或RAID控制器处于关闭或已停止状态,以避免数据写入或损坏。确定损坏硬盘:通过RAID控制器的管理界面,确定哪一块硬盘在RAID 中损坏。 2. 拆卸原硬…...
Python爬虫康复训练——笔趣阁《神魂至尊》
还是话不多说,很久没写爬虫了,来个bs4康复训练爬虫,正好我最近在看《神魂至尊》,爬个txt文件下来看看 直接上代码 """ 神魂至尊网址-https://www.bqgui.cc/book/1519/ """ import requests from b…...
Kaptcha验证码
Kaptcha验证码 Kaptcha 是一个用于生成验证码的开源库,在 Java 中使用它可以轻松地为应用程序添加验证码功能。 一、引入依赖 首先,需要在项目的 pom.xml 文件(如果是 Maven 项目)中添加 Kaptcha 的依赖: <depend…...
Rufus 制作启动盘 | 便携的工作空间
唠唠闲话 最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。 U 盘启动盘 镜像选择 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容…...
python函数参数
Python 函数参数是函数定义时用于接收传递给函数的值的变量。在Python中,函数可以有多种类型的参数,这增加了函数的灵活性和可重用性。下面是一些主要的参数类型: 1. 位置参数(Positional Arguments) 位置参数是最常…...
深入理解 XML 和 HTML 之间的区别
在现代网络技术的世界中,XML(可扩展标记语言)和 HTML(超文本标记语言) 是两个非常重要的技术。尽管它们都使用标签和属性的格式来描述数据,但它们在形式和用途上有显著的区别。 概述 什么是 XMLÿ…...
代码随想录算法训练营第四十四天|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV 题目链接:188.买卖股票的最佳时机IV 文档讲解:代码随想录 状态:不会 思路: 在股票买卖1使用一维dp的基础上,升级成二维的即可。 定义dp[k1][2],其中 dp[j][0] 表示第j次交易后持…...
YOLOv8改进 添加CVPR2024 PKINet中注意力机制CAAttention
一、PKINet论文 论文地址:2403.06258 (arxiv.org) 二、CAAttention结构 CAA(Context Anchor Attention)注意力模块是一种用于捕捉长距离上下文信息的并行模块。 在计算机视觉领域中,上下文信息是指与目标物体或任务相关的周围环境和语境信息。上下文信息可以帮助我们更好…...
油猴Safari浏览器插件:Tampermonkey for Mac 下载
Tampermonkey 是一个强大的浏览器扩展,用于运行用户脚本,这些脚本可以自定义和增强网页的功能。它允许用户在网页上执行各种自动化任务,比如自动填写表单、移除广告、改变页面布局等。适用浏览器: Tampermonkey 适用于多数主流浏览…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案
目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后,迭代器会失效,因为顺序迭代器在内存中是连续存储的,元素删除后,后续元素会前移。 但一些场景中,我们又需要在执行删除操作…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
Axure Rp 11 安装、汉化、授权
Axure Rp 11 安装、汉化、授权 1、前言2、汉化2.1、汉化文件下载2.2、windows汉化流程2.3、 macOs汉化流程 3、授权 1、前言 Axure Rp 11官方下载链接:https://www.axure.com/downloadthanks 2、汉化 2.1、汉化文件下载 链接: https://pan.baidu.com/s/18Clf…...
