Linux 应用程序日志查看命令

2023-09-20 23:59:00

目录

前言

需求

命令

1.tail命令

2.head命令

3.cat命令

4.sed

5.grep命令

6.more命令

7.less命令


前言

在工作过程中,需要查看服务端的日志,掌握常用的命令是开发工程师必备的技能,快速的查看到日志,才能精准定位问题所在。

需求

1.查看日志文件需求主要有以下几个

  • 服务启动后跟踪服务日志是否启动正常
  • 服务运行过程中查看是否打印具体的日志
  • 应用出现故障后通过检索关键字,定位系统问题和故障
  • 程序运行过程中出现性能问题需要借助日志排查定位

2.查询范围需求

  • 从文件头开始检索关键字查询
  • 从文件尾部检索关键字查询
  • 从关键字检索的上下文查询,比较常用(如,检索发生错误的前后100行日志)

命令

Linux查看日志的命令有多种: tail、cat、tac、head、echo等,本文只介绍几种常用的方法。

1.tail命令

tail命令是最常见的日志查看命令,从文件末尾开始检索

命令格式: tail[必要参数][选择参数][文件]
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

用法如下:

tail  -n  10   test.log   查询日志尾部最后10行的日志;
tail  -n +10   test.log   查询10行之后的所有日志;
tail  -fn 10   test.log   循环实时查看最后10行记录(最常用的)

 一般还会配合着grep用,例如 :

 tail -fn 1000 test.log | grep '关键字'

如果一次性查询的数据量太大,可以进行翻页查看,例如:

tail -n 3000  test.log |more -1000 可以进行多屏显示(ctrl + f 或者 空格键可以翻页)

分页查看前1000行

tail -n 1000 catalina.out |more

 查找最新的10行中时间范围在2021-02-04 11:40-2021-02-04 11:49范围中的行

tail -10f test.log | grep '2021-02-04 11:4[0-9]' 

查看最新的10行中与关键字匹配的行加上匹配行后的5行

tail -10f test.log | grep -A 5 [关键字] 

2.head命令

与tail相对应,从文件头开始检索

head -n  10  test.log   查询日志文件中的头10行日志;
head -n -10  test.log   查询日志文件除了最后10行的其他所有日志;

3.cat命令

该命令显示全部日志,如果文件比较大的话,不建议使用

一次显示整个文件

cat test.log

创建一个文件

cat > test.log

将几个文件合为一个文件

cat file1 file2 > newfile 只能创建新文件,不能编辑已有文件.

 将一个日志文件的内容追加到另外一个文件末尾

cat -n textfile1 > textfile2

清空一个日志文件,注意:> 意思是创建,>>是追加。

cat : >textfile2

其他命令,查看关键字前后指定行数,并显示行号

cat test.log | head -n 50   #查看日志前50行
 
cat -n test.log | tail -n 50   #查看日志后50行,并显示行号

cat -n test.log | grep -C 10 '关键字' (显示日志里匹配字串那行以及前后10行),并显示行号

cat -n test.log | grep -B 10 '关键字' (显示匹配字串及前10行),并显示行号

cat -n test.log | grep -A 10 '关键字' (显示匹配字串及后10行),并显示行号

cat -n test.log | grep -n -B10 -A10 "关键字" (显示日志里匹配字串那行以及前后10行),并显示行号

cat test.log |tail -n +1000|head -n 500 查看日志,从第1000行开始,显示500行

cat test.log | head -n 1400| tail -n +1350 查看日志,显示1350行到1400行


4.sed

sed命令可以查找日志文件特定的一段 , 根据时间的一个范围查询,可以按照行号和时间范围查询

按照行号

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

按照时间段

查看某段时间内的日志: sed -n '/起始时间/,/结束时间/p' 日志文件,

查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’

sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’

5.grep命令

linux中最为常用的三大文本(awk,sed,grep)处理工具,grep家族总共有三个:grep,egrep,fgrep。

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 

grep表示全局正则表达式版本,它的使用权限是所有用户。

grep  '关键字'  biz.log                       #查找log带‘关键字’的日志内容
 
grep  '关键字'  biz.log  -c                   #查看log中带‘关键字’日志内容的行数
 
grep  '关键字'  biz.log  | grep  '关键字2'        #查看log既带‘关键字’又带‘关键字2’的日志内容
 
grep  -v  '关键字' biz.log                    #查看log不带‘关键字’的日志内容
 
grep  '关键字' biz.log  | grep -v  '关键字2'      #查看log带'关键字',但不带'关键字2'的日志内容
 
grep '关键字1\|关键字2'  biz.log  或  grep -E "关键字1\|关键字2" biz.log     #查询带`关键字1`或`关键字2`的日志内容
 
 
#语法:
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 

6.more命令

more命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。more命令从前向后读取文件,因此在启动时就加载整个文件。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:–More–(XX%)

more的语法:more 文件名

Enter 向下n行,需要定义,默认为1行

Ctrl f 向下滚动一屏

空格键 向下滚动一屏

Ctrl b 返回上一屏

= 输出当前行的行号

:f 输出文件名和当前行的行号

v 调用vi编辑器

!命令 调用Shell,并执行命令

q退出more

7.less命令

less命令在查询日志时,一般流程是这样的

less log.log

shift + G 命令到文件尾部  然后输入 ?加上你要搜索的关键字例如 ?1213

按 n 向上查找关键字

shift+n  反向查找关键字
less与more类似,使用less可以随意浏览文件,而more仅能向前移动,不能向后移动,而且 less 在查看之前不会加载整个文件。
less log2013.log 查看文件
ps -ef | less   ps查看进程信息并通过less分页显示
history | less   查看命令历史使用记录并通过less分页显示
less log2013.log log2014.log   浏览多个文件

常用命令参数 

常用命令参数:
-b <缓冲区大小> 设置缓冲区的大小
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
/字符串:向下搜索"字符串"的功能
?字符串:向上搜索"字符串"的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
h 显示帮助界面
q 退出less 命令

 history命令

history // 所有的历史记录

history | grep XXX  // 历史记录中包含某些指令的记录

history | more // 分页查看记录

history -c // 清空所有的历史记录

!! 重复执行上一个命令

查询出来记录后选中 : !323

更多推荐

多线程知识汇总

IntentService多线程的应用在Android开发中是非常常见的,常用方法主要有:集成Thread类实现Runnable接口AsyncTaskHandlerHandlerThreadIntentServiceIntentService定义:Android里的一个封装类,继承四大组件之一service作用:处理异

Go的sync.Mutex互斥锁

我们使用了一个bufferedchannel作为一个计数信号量,来保证最多只有20个goroutine会同时执行HTTP请求。同理,我们可以用一个容量只有1的channel来保证最多只有一个goroutine在同一时刻访问一个共享变量。一个只能为1和0的信号量叫做二元信号量(binarysemaphore)。gopl.

函数式编程------JDK8新特性

函数式编程式jdk8中的语法糖,在许多地方都有用到,以下是一些优点.能够看懂公司里的代码大数量下处理集合效率高代码可读性高消灭嵌套地狱Lamda表达式lamda表达式是函数是编程的基础,先看一个列子新建一个线程,参数是匿名类内部类(匿名内部类是一个匿名子类对象。这里使用匿名内部类的)并且重写了类的抽象方法newThre

Unity云原生分布式运行时

//元宇宙时代的来临对实时3D引擎提出了诸多要求,Unity作为游戏行业应用最广泛的3D实时内容创作引擎,为应对这些新挑战,提出了Unity云原生分布式运行时的解决方案。LiveVideoStack2023上海站邀请到Unity中国的解决方案工程师舒润萱,和大家分享该方案的实践案例、面临的问题、解决方式,并介绍了Uni

如何远程访问Linux MeterSphere一站式开源持续测试平台

文章目录前言1.安装MeterSphere2.本地访问MeterSphere3.安装cpolar内网穿透软件4.配置MeterSphere公网访问地址5.公网远程访问MeterSphere6.固定MeterSphere公网地址前言MeterSphere是一站式开源持续测试平台,涵盖测试跟踪、接口测试、UI测试和性能测试

论文阅读_大语言模型_Llama2

英文名称:Llama2:OpenFoundationandFine-TunedChatModels中文名称:Llama2:开源的基础模型和微调的聊天模型文章:http://arxiv.org/abs/2307.09288代码:https://github.com/facebookresearch/llama作者:Hug

Scrapy+Selenium自动化获取个人CSDN文章质量分

前言本文将介绍如何使用Scrapy和Selenium这两个强大的Python工具来自动获取个人CSDN文章的质量分数。我们将详细讨论Scrapy爬虫框架的使用,以及如何结合Selenium浏览器自动化工具来实现这一目标。无需手动浏览每篇文章,我们可以轻松地获取并记录文章的质量分数,从而更好地了解我们的博客表现。Scra

如何玩转CSDN AI工具集

前言人工智能生成内容(AIGC)是当下最具有前景的技术领域之一。AI能够以惊人的速度和准确度生成各种类型的内容,完成文章翻译、代码生成、AI对话、插图创作等工作,带来了许多令人兴奋的机遇。本文将介绍CSDNAI工具集的基本使用方法,现在您可以免费试用全部功能。一、AI工具集AI工具集是CSDN的一款综合AI赋能平台,集

Unity——对象池

对象池是一种朴素的优化思想。在遇到需要大量创建和销毁同类物体的情景时,可以考虑使用对象池技术优化游戏性能。一、为什么要使用对象池在很多类型的游戏中都会创建和销毁大量同样类型的物体。例如,飞行射击游戏中有大量子弹,某些动作游戏中有大量敌人,还有游戏中反复出现和消失的粒子特效等。而创建和销毁物体本身属于比较消耗资源的操作,

Linux 的性能调优的思路

Linux操作系统是一个开源产品,也是一个开源软件的实践和应用平台,在这个平台下有无数的开源软件支撑,我们常见的apache、tomcat、mysql等。开源软件的最大理念是自由、开放,那么Linux作为一个开源平台,最终要实现的是通过这些开源软件的支持,以最低廉的成本,达到应用最优的性能。因此,谈到性能问题,主要实现

OpenCV实战(30)——OpenCV与机器学习的碰撞

OpenCV实战(30)——OpenCV与机器学习的碰撞0.前言1.机器学习简介2.基于局部二值模式的最近邻人脸识别3.图像表示与人脸识别4.完整代码小结系列链接0.前言随着人工智能的发展,许多机器学习算法开始用于解决机器视觉问题。机器学习是一个广泛的研究领域,包含许多重要的概念,本节我们将介绍一些主要的机器学习技术,

热文推荐