如何在Ubuntu上查看和写入系统日志文件

Linux将大量事件记录到磁盘中,它们大多以纯文本形式存储在/var/log目录中。大多数日志条目都会通过系统日志记录守护进程syslogd,并写入系统日志。

Ubuntu包括许多查看这些日志的方式,可以是图形方式,也可以是命令行方式。您还可以将自己的日志消息写入系统日志-这在脚本中特别有用。

以图形方式查看日志

要使用易于使用的图形应用程序查看日志文件,请从仪表盘打开日志文件查看器应用程序。

日志文件查看器默认显示许多日志,包括系统日志(Syslog)、包管理器日志(dpkg.log)、身份验证日志(auth.log)和图形服务器日志(Xorg.0.log)。您可以在单个窗口中查看所有日志-当添加新的日志事件时,它将自动出现在窗口中并以粗体显示。您还可以按Ctrl+F搜索日志消息,或使用Filters菜单过滤日志。

如果您有其他要查看的日志文件(例如,特定应用程序的日志文件),可以单击文件菜单,选择打开,然后打开该日志文件。它将与列表中的其他日志文件一起显示,并将像其他日志一样受到监视和自动更新。

正在写入系统日志

记录器实用程序允许您使用单个简单的命令将消息快速写入系统日志。例如,要将消息Hello World写入系统日志,请使用以下命令:

您可能还希望指定其他信息-例如,如果在脚本中使用LOGGER命令,则可能需要包括脚本的名称:

查看终端中的日志

dmesg命令显示存储在内存中的Linux内核的消息缓冲区。运行此命令,您将获得大量输出。

要过滤此输出并搜索您感兴趣的消息,可以通过管道将其传递给grep:

您还可以通过管道将dmesg命令的输出传递给LESS,这允许您以自己的速度滚动消息。要退出更少,请按Q键。

如果grep搜索生成大量结果,您也可以通过管道将其输出减少:

除了在任何文本编辑器中打开/var/log中的日志文件外,您还可以使用cat命令将日志(或任何其他文件)的内容打印到终端:

与上面的dmesg命令一样,这将产生大量输出。您可以使用grep和LESS命令来处理输出:

其他有用的命令包括HEAD和Tail命令。HEAD打印文件中的前n行,而Tail打印文件中的最后n行-如果您希望查看最近的日志消息,则Tail命令特别有用。

有些应用程序可能不会写入系统日志,而可能会生成它们自己的日志文件,您可以用同样的方式操作这些文件-您通常也会在/var/log目录中找到它们。例如,Apache Web服务器创建一个包含其日志的/var/log/apache2目录。

相关文章