Linux运维知识:从命令行如何查看Linux日志
小标 2018-06-29 来源 : 阅读 1048 评论 0

摘要:本文主要向大家介绍了Linux运维知识的从命令行如何查看Linux日志,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助。

    本文主要向大家介绍了Linux运维知识的从命令行如何查看Linux日志,通过具体的内容向大家展现,希望对的大家学习Linux运维知识有所帮助。

  你的系统上出现问题时,要做的头一件事就是查看日志。本文作者介绍了在Linux下查看日志的具体方法。

Linux运维知识:从命令行如何查看Linux日志

  在你作为Linux管理员的职业生涯中,应该早晚都会查看日志文件。因为日志文件可以帮助你排查问题,每个经验丰富的管理员在出现问题后,要做的头一件事就是查看日志。

  你会发现许多日志:系统日志、内核日志、软件包管理器日志、Xorg日志、启动进程日志、Apache日志、MySQL日志… 你能想到的几乎任何系统都有相应的日志文件。

  大多数日志文件位于一个便利的位置:/var/log。这些都是系统和服务日志,你的操作系统或某一项重要服务出现问题时,会高度依赖这些日志。如果是针对特定桌面应用程序的问题,日志文件会被写入到不同的位置(比如Thunderbird把崩溃报告写入到 ‘~/.thunderbird/Crash Reports’)。桌面应用程序把日志写入到何处取决于开发人员,以及应用程序是否允许自定义日志配置。

  我们会着重介绍系统日志,因为这是Linux故障排查的核心所在。而这里的一个关键问题是,你如何查看那些日志文件?

  幸好,你有众多方法可以查看系统日志,它们都只要从命令行来执行即可。

  

  这是Linux系统上一个至关重要的文件夹。打开终端窗口,执行命令cd /var/log。现在执行命令ls,你就会看到位于该目录下面的日志(见图1)。

Linux运维知识:从命令行如何查看Linux日志

  图1:列出了位于/var/log/下的日志文件

  现在,不妨看一看其中一个日志。

  使用less查看日志

  /var/log里面包含有最重要的日志之一是syslog。这个特殊的日志文件记录下了除验证相关消息之外的一切信息。假设你想查看这一个日志文件的内容,可以迅速执行命令less /var/log/syslog。这个命令会打开syslog日志文件,显示文件首部。然后,你可以使用箭头键每次向下滚动一行,使用空格键每次向下滚动一页,或者使用鼠标轮,轻松滚动浏览文件。

  这种方法有一个问题,那就是syslog会变得相当庞大;另外,考虑到你要找的信息极有可能在底部或靠近底部,你可能不想把时间耗费在每次逐行或逐页滚动进入到尾部,由于在less命令中syslog已打开,你还可以按[Shift]+[g]组合键,立即进入到日志文件的尾部。尾部会标以(END)。然后,你可以用箭头键或滚动轮向上滚动,找到你想要的具体信息。

  当然,这不是很高效。

  使用dmesg查看日志

  dmesg命令输出内核环缓冲区。默认情况下,该命令会显示来自内核环缓冲区的所有信息。从终端窗口,执行命令dmesg,整个内核环缓冲区的内容就会输出显示(见图2)。

Linux运维知识:从命令行如何查看Linux日志

  图2:USB外部驱动器显示了需要研究的一个问题

  幸好,有一种内置的控制机制让你得以仅仅输出某些程序模块(facility,比如守护进程)。

  假设你想查看用户程序模块的日志项,可执行命令dmesg --facility=user。要是有什么信息记录到该工具,它会输出结果。

  不像less命令,执行dmesg会显示日志的全部内容,并让你进入到文件尾部。你始终可以使用滚动轮来浏览终端窗口的缓冲区(如果适用的话)。相反,你会想要把dmesg的输出通过管道命令输入到less命令,就像这样:

  

  上述命令会输出dmesg的内容,让你可以滚动浏览输出,就像使用less命令查看标准日志那样。

  使用tail查看日志

  tail命令可能是用于查看日志文件的最方便的工具之一。tail的功能就是输出文件的尾部内容。所以,如果你执行命令tail /var/log/syslog,它只会输出syslog文件的尾部几行。

  但是等一下,好玩的并不仅限于此。tail命令有一个很重要的技巧,这需要借助使用-f选项。如果你执行命令tail -f /var/log/syslog,tail会继续监视日志文件,输出写入到文件的下一行。这意味着你可以在终端窗口里面实时关注什么写入到syslog(见图3)。

Linux运维知识:从命令行如何查看Linux日志

  图3:使用tail命令,关注/var/log/syslog

  以这种方式使用tail对于排查问题大有帮助。

  在关注文件时想退出tail命令,只需按 [Ctrl]+[x]组合键。

  你还可以指示tail只关注某几行。假设你只想查看写入到syslog的尾部5行;为此,你可以执行这个命令:

 

  上述命令会关注syslog的输入,只输出最近的5行。一旦有新的行写入到syslog,它会将最早的那一行从首部删除。这是让关注日志文件这个过程更容易的一种好方法。我强烈建议别使用这种方法来查看少于四五行的日志,因为你最后会发现输入被截断,无法获得某项的全部细节。

  还有其他工具

  你会找到其他命令(甚至几个还不错的GUI工具)以便查看日志文件。预计more、grep、head、cat、multitail和系统日志查看器(System Log Viewer)可以帮助你通过日志文件来排查系统问题。

    本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注系统运维Linux频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程