linux查看日志的三种命令

藏色散人
Freigeben: 2023-01-04 14:00:55
Original
6149 Leute haben es durchsucht

linux查看日志的三种命令分别是:1、tail命令,该命令可以实时查看文件内容的变以及日志文件;2、multitail命令,该命令可以同时监视多个日志文件;3、less命令,该命令可以快速查看日志的更改,并且不会使屏幕混乱。

linux查看日志的三种命令

本教程操作环境:linux5.9.8系统、Dell G3电脑。

linux查看日志的三种命令是什么?

Linux 中实时查看日志的3种方法

最近我从cnaaa.com购买了云服务器。

我们大家应该都知道如何在 Linux 中查看文件,比如可以使用 cat 或者 less 命令。

这对于查看静态文件来说是可以的。日志文件是动态的,其内容随时会变化,要监测日志文件,需要在日志文件内容改变时也能实时看到。

那么如何实时查看日志文件呢?tail 命令是可以的,除此以外,还有其他的一些工具,本文将会介绍这些可以实时查看日志文件的工具。

1. 使用 tail 命令查看日志文件

tail 命令使用非常广泛,因此系统管理员经常使用口头禅 tail the log file(即:tail 日志文件)。

大多数情况下,tail 命令用于查看文件末尾的内容,因此才会被命名为 tail。

使用 -f 选项可以跟踪文件末尾的内容,这表示它会持续显示被新添加到文件中的内容。

tail -f location_of_log_file
Nach dem Login kopieren

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nzCWCjye-1664183028850)(D:/img/640.png)]

要停止跟踪日志文件,可以使用 ctrl +c 快捷键。

tailgrep

如上所述,tail 命令可以实时查看文件内容的变化。但是,当文件内容更新特别快速的时候,刚刚更新的内容一闪而过,这种情况下,查看起来就不那么方便了。

比如,我们在跟踪日志文件的时候,经常会监视某个特定的术语(字符串),在快速更新的大量内容中跟踪,非常不方便。

为了解决这个问题,我们可以将 tail 和 grep 命令结合起来使用。如下所示:

tail -f log_file | grep search_term
Nach dem Login kopieren

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LxXIylsU-1664183028854)(D:/img/640-1664179747239-1.png)]

这样看起来就好多了,对吧?在这个基础上,我们再来做一下改进。

使用 grep 展示搜索词,显示的信息比较有限,它只显示检索结果,因此我们经常使用 -C 选项来显示检索结果的前后几行:

tail -f log_file | grep -C 3 search_term
Nach dem Login kopieren

这样,我们就能看到检索结果相关的前后几行信息,可以更好的跟踪日志信息。

还想再改进一些吗?可以对多个搜索项使用 grep,然后不区分大小写:

tail -f log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
Nach dem Login kopieren

使用日志轮转(log rotation)跟踪日志

大多数企业服务器,日志都会轮转(rotation),即当日志文件达到一定大小后,就会重命名并压缩。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h2RUcofL-1664183028856)(D:/img/640-1664179747241-2.png)]

如果实时跟踪日志文件,则会产生问题。默认情况下,tail 命令用于文件描述符。如果当前日志文件被旋转,tail 命令现在将指向一个存档日志文件,该文件现在不会记录任何更改。

解决方案是按照日志文件的名称跟踪日志文件。这样,即使发生日志旋转,尾部也将指向当前日志文件(因为其名称从未更改)。

tail --follow=name log_file | grep -C 3 -i - E 'search_term_1|search_term_2'
Nach dem Login kopieren

tail 非常适合实时监控日志文件,但上述方法只监控一个日志文件。如果要监控多个日志文件该怎么办呢?请看下一节。

使用 tail 查看多个日志文件

在 Linux 系统中工作,可以使用 tail 命令同时监视多个日志文件,只需要提供文件的路径:

tail -f log_file_1 -f log_file_2
Nach dem Login kopieren

上述命令,你将会实时看到日志文件的更新,并且在前面会带有文件名,以区分不同的日志文件:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CMiWKszs-1664183028859)(D:/img/640-1664179747242-3.png)]

除了上述方法,还有另外一种更方便的方式,就是使用一个名为 multitail 的工具。

2. 使用 multitail 同时监视多个日志文件

顾名思义,multitail 用于同时显示多个文件。

既然 tail 可以同时监视多个文件,那么 multitail 有什么特别的地方呢?

multitail 的优点在于,它可以在拆分视图中显示文件,甚至可以在不同的行和列中显示不同的文件。

tail 在同一视图中显示所有内容,所以有时候很难跟踪,multitail 通过提供类似 screen 命令的分割视图来克服了这一困难。

注意,multitail 在大多数Linux系统中没有被默认安装,所以在使用前需要先手动安装。

在 multitail 命令后跟文件路径,最好一次不要超过3个,因为超过3个或以上,跟踪起来就比较困难了。

multitail log_file_1 log_file_2
Nach dem Login kopieren

默认情况下,multitail 的工作方式与 tail -f 相同,它显示最后100行,然后进入实时监视视图;另外,它按行来拆分视图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EZ9iX4d3-1664183028861)(D:/img/640-1664179747242-4.png)]

你可以按 b 键打开一个文件选择窗口,选择某个日志文件查看,以做进一步分析。

分割视图使用 -s 选项,后面跟一个数字,即视图的数量:

multitail -s 2 log_file_1 log_file_2
Nach dem Login kopieren

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ETQjV0KA-1664183028863)(D:/img/640-1664179747243-5.png)]

按 q 键可退出 multitail 所有的视图。

multitail 可以做的还有很多,大家感兴趣可以查看一下它的官方文档,本文就不继续介绍了。

3. 使用 less 命令实时查看日志文件

less 命令多用于读取文本文件,也可用于读取实时被更改的文件。

选项 +F 可以实时跟踪文件的更改:

less +F log_file
Nach dem Login kopieren

上述命令会打开日志文件,并实时显示正在写入的更改:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oDZivgss-1664183028865)(D:/img/640-1664179747243-6.png)]

按 ctrl +c 中断显示,按 q 会退出视图。

与 tail 命令不同,此方法可以让我们快速查看日志的更改,而不会使屏幕混乱。

上述监视日志的方法适用于传统的基于文本的日志文件。对于系统日志,可以使用 syslogs,但是现在许多 Linux 发行版已经开始使用 journal 日志来查看和分析日志,所以需要使用 journalctl 命令。

推荐学习:《Linux视频教程

Das obige ist der detaillierte Inhalt vonlinux查看日志的三种命令. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!