当前位置: 首页 > news >正文

查看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 命令有待你慢慢熟悉掌握常用方法。

http://www.lryc.cn/news/392119.html

相关文章:

  • 技术干货|如何轻松完成空调管路的随机振动分析以及疲劳寿命预测
  • 中英双语介绍中国的城市:上海市(Shanghai)
  • 代码随想录算法训练营第75天:总结篇[1]
  • 眼动追踪技术 | 眼动的分类和模型
  • 如何使用PHP根据输入文字动态调整图片尺寸?
  • 3.js - hdr贴图 是什么,有什么用
  • Nature Communications|用于电子皮肤的自主自愈晶体管(柔性半导体器件/电子皮肤/柔性电子)
  • 6月30日功能测试Day10
  • 无人机对地面运动目标定位---获取目标的移动方向和速度
  • 管理才是最根本的核心竞争力
  • Raid阵列中硬盘损坏后,新硬盘可以直接换上吗?
  • Python爬虫康复训练——笔趣阁《神魂至尊》
  • Kaptcha验证码
  • Rufus 制作启动盘 | 便携的工作空间
  • python函数参数
  • 深入理解 XML 和 HTML 之间的区别
  • 代码随想录算法训练营第四十四天|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费
  • YOLOv8改进 添加CVPR2024 PKINet中注意力机制CAAttention
  • 油猴Safari浏览器插件:Tampermonkey for Mac 下载
  • 如何在Vue中添加事件监听器
  • 软设之UML图中的用例图
  • 弹性伸缩高性能计算服务一一黑石裸金属服务器
  • 欢乐钓鱼大师攻略:西沙群岛攻略,内置自动辅助云手机!
  • Apipost接口测试工具的原理及应用详解(六)
  • 矩阵的奇异值(Singular Values)
  • 清空flowable的表定义的相关表
  • Tailwind CSS 在vue里 的使用
  • 【人工智能】--强化学习(2.0)
  • 跟着峰哥学java 微信小程序 第二天 封装ES7 + 后端工作
  • QT学习(6)——QT中的定时器事件,两种实现方式;事件的分发event,事件过滤器