转至:https://blog.csdn.net/qq_33223299/article/details/93773989

如何在Linux中实时查看日志文件的内容?那么有很多实用程序可以帮助用户在文件更改或不断更新时输出文件的内容。在Linux中实时显示文件内容的常用命令是tail命令(有效地管理文件)。
1. tail命令 - 实时监控日志
如上所述,tail命令是实时显示日志文件的最常用解决方案。但是,显示该文件的命令有两个版本,如下面的示例所示。
在第一个示例中,命令tail需要-f参数来跟踪文件的内容。

$ sudo tail -f /var/log/apache2/access.log

实时监控Apache日志

该命令的第二个版本实际上是一个命令本身:tailf。你不需要使用该-f开关,因为该命令是与-f参数一起内置的。

$ sudo tailf /var/log/apache2/access.log

实时Apache日志监控

通常,logrotate实用程序会在Linux服务器上频繁地轮换日志文件。要查看每日基础上轮换的日志文件,可以使用tail -F命令。

tail -F将跟踪正在创建的新日志文件,并开始跟踪新文件而不是旧文件。

$ sudo tail -F /var/log/apache2/access.log

但是,默认情况下,tail命令将显示文件的最后10行。例如,如果你只想实时查看日志文件的最后两行,请使用-n与该-f标志结合的文件,如下例所示。

$ sudo tail -n2 -f /var/log/apache2/access.log

查看最后两行日志

2.multitail命令 - 实时监控多个日志文件

另一个有趣的实时显示日志文件的命令是multitail命令。该命令的名称意味着multitail实用程序可以实时监视和跟踪多个文件。Multitail还允许你在受监视的文件中来回导航。

要在基于Debian和RedHat的系统中安装mulitail实用程序,请发出以下命令。

$ sudo apt install multitail [On Debian&Ubuntu]
$ sudo yum install multitail [On RedHat&CentOS]
$ sudo dnf install multitail [On Fedora 22+ version]

要同时显示两个日志文件的输出,请执行以下示例中所示的命令。

$ sudo multitail /var/log/apache2/access.log /var/log/apache2/error.log

多点监控日志

3. lnav命令 - 实时监控多个日志文件

另一个有趣的命令,类似于multitail命令,是lnav命令。Lnav实用程序还可以观看和跟踪多个文件并实时显示其内容。

通过发出以下命令在基于Debian和RedHat的Linux发行版中安装lnav实用程序。

$ sudo apt install lnav [On Debian&Ubuntu]
$ sudo yum install lnav [On RedHat&CentOS]
$ sudo dnf install lnav [On Fedora 22+ version]

通过发出命令同时观察两个日志文件的内容,如下例所示。

$ sudo lnav /var/log/apache2/access.log /var/log/apache2/error.log

lnav - 实时日志监控

4. less命令 - 显示日志文件的实时输出

最后,如果键入,则可以使用less命令显示文件的实时输出Shift+F

与tail实用程序一样,Shift+F在打开的文件中按下less将在文件结束后开始。或者,你也可以用较少的+F旗帜开始进入现场观看文件。

$ sudo less + F /var/log/apache2/access.log

使用less命令监视日志

Linux实时查看日志的四种命令详解的更多相关文章

  1. 【转帖】linux sort,uniq,cut,wc,tr,xargs命令详解

    linux sort,uniq,cut,wc,tr,xargs命令详解 http://embeddedlinux.org.cn/emb-linux/entry-level/201607/21-5550 ...

  2. Linux 实时查看日志文件动态内容

    tailf 27.log | grep 'Classcomment/praise'               'Classcomment/praise' 接口名:查看请求固定接口的时间,实时 tai ...

  3. linux shell 脚本攻略学习14--head命令详解,tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  4. linux shell 脚本攻略学习 -- head命令详解, tail命令详解

    当要查看上千行的大文件时,我们可不会用cat命令把整个文件内容给打印出来,相反,我们可能只需要看文件的一小部分地内容(例如文件的前十行和后十行),我们也有可能需要打印出来前n行或后n行,也有可能打印除 ...

  5. Linux下的压缩zip,解压缩unzip命令详解及实例

    实例:压缩服务器上当前目录的内容为xxx.zip文件 zip -r xxx.zip ./* 解压zip文件到当前目录 unzip filename.zip ====================== ...

  6. linux shell 脚本攻略学习7---tr命令详解

    tr命令详解 什么是tr命令?tr,translate的简写,translate的翻译: [trænsˈleit] vi. 翻译, 能被译出 vt. 翻译, 解释, 转化, 转变为, 调动 在这里用到 ...

  7. linux shell 脚本攻略学习16--wc命令详解,tree命令详解

    在文本处理的工作中,统计文件的行数,单词数和字符数非常有用.而对于开发人员本身来说,统计LOC(line of code ,代码行数)是一件重要的工作.linux中有什么命令可以帮助我们做统计呢?没错 ...

  8. linux shell 脚本攻略学习13--file命令详解,diff命令详解

    一.file命令详解 find命令可以通过查看文件内容来找出特定类型的文件,在UNIX/ Linux系统中,文件类型并不是由文件扩展名来决定的(windows中却正是这么做的),file命令的目的是从 ...

  9. linux shell 脚本攻略学习9--rename命令详解

    rename命令详解: 对文件重命名是常用的操作之一,一般对单个文件的重命名用mv命令,如: amosli@amosli-pc:~/learn/example$ ls abc.txt amosli@a ...

随机推荐

  1. Go 变量及基本数据类型1

    #### Go 变量及基本数据类型(一)今天主要学习一下Go 中的变量及基本数据类型: 如何申明,使用变量,以及基本数据类型的介绍和使用细节; ##### 变量的介绍1. 变量相当于内存中一个数据存储 ...

  2. 阅读笔记——长文本匹配《Matching Article Pairs with Graphical Decomposition and Convolutions》

    论文题目:Matching Article Pairs with Graphical Decomposition and Convolutions 发表情况:ACL2019 腾讯PCG小组 模型简介 ...

  3. 【C++】输入输出

    缓冲 C++ 的输入输出均通过缓冲区来实现.缓冲区主要是为了解决速度不匹配的问题. cin 阻塞输入.当输入缓存中无字符时则等待用户输入. 输入缓冲 输入缓冲是一种行缓冲.在输入数据只要没有碰到换行符 ...

  4. 计算机网络-5-9-TCP拥塞控制

    TCP拥塞控制 拥塞控制的一般原理 在计算机网络中的链路容量(带宽),交换节点中的缓存和处理机等,都是网络的资源,在某段时间,若对网络中某一资源的需求超过该资源所能提供的可用部分,网络性能就会变坏,这 ...

  5. bom-setInterval

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Java数组问题:Array constants can only be used in initializers

    感谢大佬:https://www.cnblogs.com/fanerwei222/p/11491571.html 感谢大佬:https://blog.csdn.net/weixin_42591732/ ...

  7. UIFont

    UIFont代表字体,常见创建方法有以下几个:+ (UIFont *)systemFontOfSize:(CGFloat)fontSize; 系统默认字体+ (UIFont *)boldSystemF ...

  8. ARC下的内存管理

    1.ARC下单对象内存管理 局部变量释放对象随之被释放 int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = ...

  9. 测试前期API未实现时,如何写测试方法

    大家在做接口测试的时候可能经历过这种情况,开发出来接口文档后,测试人员就要开始编写接口测试的自动化代码.这时就会用到了mock server,mock server不在这里说了,百度一大堆,想怎么实现 ...

  10. 交换机基本原理与VRP基础及操作

    交换机基本原理与VRP基础及操作 目录 交换机基本原理与VRP基础及操作 一.数据链路层 1.数据链路层的位置 2.数据链路层的功能 二.以太网(Ethernet) 1.以太网的概念 2.MAC地址( ...