热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从命令行如何查看Linux日志

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

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

#

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

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

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

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

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

  1. /var/log 

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

#

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

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

使用less查看日志

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

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

当然,这不是很高效。

使用dmesg查看日志

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

#

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

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

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

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

  1. dmesg | less 

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

使用tail查看日志

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

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

#

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

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

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

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

  1. tail -f -n 5 /var/log/syslog 

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

还有其他工具

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

原文标题:Viewing Linux Logs from the Command Line,作者:Jack Wallen


推荐阅读
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 原文地址:https:www.cnblogs.combaoyipSpringBoot_YML.html1.在springboot中,有两种配置文件,一种 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ... [详细]
  • 后台获取视图对应的字符串
    1.帮助类后台获取视图对应的字符串publicclassViewHelper{将View输出为字符串(注:不会执行对应的ac ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
author-avatar
我2你1生1世你知到_164
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有