Linux查看log日志常用命令

 更新时间:2024年06月01日 16:55:02   作者:澡澡洗澡澡  
Linux日志存储在/var/log目录中,我们可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能,Linux查看日志的命令有多种: tail、head、cat、more、less、sed等

Linux日志存储在/var/log目录中,我们可以编写脚本,来扫描这些日志,并基于它们的内容去自动执行某些功能。Linux查看日志的命令有多种: tail、head、cat、more、less、sed等

1、tail

tail 命令是最常用的查看日志语句。以日志文件 server.log 为例,tail 命令可以用于查看日志文件的最后几行或实时追踪日志文件。

常用的 tail 命令选项:-n: 指定显示行数。-f: 以跟随模式运行。-c: 指定要显示的字符数。-r: 从文件末尾倒序显示。

查看日志文件的最后几行,显示 server.log 文件的最后 100 行

tail -n 100 server.log

显示 server.log 文件100行之后的所有日志

tail  -n +100 server.log   

实时追踪日志文件,跟随模式运行 tail 命令,实时显示新加入的内容。(默认最后10行,相当于增加参数 -n 10)

tail -f server.log

查找日志文件中包含指定字符串的行,显示 server.log 文件中包含关键字的行

grep "关键字" server.log

显示 server.log 文件的最后 100 个字符,如果 -c 选项后面没有跟随数字,则会默认显示最后 100 个字符

tail -c 100 server.log

查看日志文件中包含 “ERROR” 的行,并从文件末尾倒序显示

tail -r -n 100 | grep "ERROR"

退出tail命令

Ctrl+c

2、head

跟tail是相反的head是看前多少行日志。
显示 server.log 文件的前 20 行

head -n 20 server.log

显示 server.log 文件的前 100 个字符

head -c 100 server.log 

从 file1 文件中读取内容,并显示前 5 行

cat file1 | head -n 5

head其他参数参考tail

3、cat

cat 区别于tail是对日志进行全文搜索
查看文件的所有内容

cat server.log

查看文件的所有内容,其中-n的作用是在每行前面加上行号

cat -n server.log

从键盘创建一个文件

cat > filename

谨慎执行cat > server.log命令!
该命令会将所有标准输入的内容覆盖写入到 server.log 文件中。如果该文件已经存在,其原有内容会被完全清空。1.如果 server.log 文件不存在,会创建一个新的空文件。2.如果 server.log 文件已经存在,会清空文件原有内容,并准备接收新的输入。

将几个文件合并为一个文件

cat file1 file2 > file #只能创建新文件,不能编辑已有文件

将一个日志文件的内容追加到另外一个

cat -n textfile1 > textfile2

清空一个日志文件

cat : >textfile2

注意:> 意思是创建,>>是追加。千万不要弄混了。
cat其他参数参考tail

4、more

more用于分页显示文件内容,和 cat 不同,它不会一次性显示整个文件,而是分屏逐页显示,方便查看长文本文件。more从前向后读取文件,因此在启动时就加载整个文件。more中内置了若干快捷键,常用的有h(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Ctrl + f(向前滚动一页),Ctrl + b(向后滚动一页),q(退出命令)。

more filename     #分页显示 filename 文件内容。more +n filename  #从文件第 n 行开始显示。more -n filename  #显示文件的前 n 行。

5、less

less 是一个与 more 相似的命令行工具,用于分页显示文件内容。比 more 更加强大,提供了一些额外的功能和更灵活的控制。

less filename #分页显示 filename 的内容ps -ef | less   #ps查看进程信息并通过less分页显示history | less   #查看命令历史使用记录并通过less分页显示less filename1 filename2   #浏览多个文件shift + G #命令到文件尾部,然后输入 ?加上你要搜索的关键字例如?111n #向上查找关键字shift+n  #反向查找关键字

常用命令参数:

-b <缓冲区大小> 设置缓冲区的大小-g 只标志最后搜索的关键词-i 忽略搜索时的大小写-m 显示类似more命令的百分比-N 显示每行的行号-o <文件名> 将less 输出的内容在指定文件中保存起来-Q 不使用警告音-s 显示连续空行为一行/字符串:向下搜索"字符串"的功能?字符串:向上搜索"字符串"的功能n:重复前一个搜索(与 / 或 ? 有关)N:反向重复前一个搜索(与 / 或 ? 有关)b 向后翻一页h 显示帮助界面q 退出less 命令

6、sed

根据特定模式查找并替换文本、删除行、插入文本、修改行号等等。
替换文本

sed 's/old/new/g' filename #将文件中所有 "old" 替换为 "new" (g 为全局替换)

删除行

sed '/pattern/d' filename #删除包含 "pattern" 的行

插入文本

sed 's/pattern/pattern\nnew_text/g' filename #在包含 "pattern" 的行后面插入 "new_text"

修改行号

sed 'n' filename #对每一行编号

提取特定部分

sed 's/.*:\(.*\).*/\1/' filename #提取每一行中冒号后面的部分

7、补充(linux日志文件说明)

/var/log/message 系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一/var/log/secure 与安全相关的日志信息/var/log/maillog 与邮件相关的日志信息/var/log/cron 与定时任务相关的日志信息/var/log/spooler 与UUCP和news设备相关的日志信息/var/log/boot.log 守护进程启动和停止相关的日志消息/var/log/wtmp 该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件

日志文件通常采用:日期和时间 级别 源 信息

日期和时间:表示日志记录的时间。级别:表示日志的严重性,常见的级别包括:ALERT:紧急事件,需要立即采取措施。CRIT:严重事件,可能影响系统的正常运行。ERR:错误事件,需要进行修复。WARNING:警告事件,可能影响系统的性能。NOTICE:一般信息,不需要采取任何措施。INFO:信息事件,用于记录系统的运行情况。源:表示日志记录的来源,通常是程序或模块的名称。信息:表示日志记录的内容。

以下是一个 messages 日志文件中的记录:

[2023-08-02 11:23:45] INFO sshd: [pam_unix(sshd:auth):auth] user=root service=sshd success=yes

这条记录表示,在 2023-08-02 11:23:45 时,用户 root 使用 SSH 协议登录系统,身份验证成功。

到此这篇关于Linux查看log日志常用命令的文章就介绍到这了,更多相关Linux查看log日志内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Ubuntu 下安装和配置 FTP服务器

    Ubuntu 下安装和配置 FTP服务器

    本篇文章主要介绍了Ubuntu 下安装和配置 FTP服务,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • linux文件目录管理命令整理总结

    linux文件目录管理命令整理总结

    在本篇文章里小编给大家整理的是关于linux文件目录管理命令整理总结,需要的朋友们参考下。
    2019-11-11
  • Linux查找特定程序whereis实例详解

    Linux查找特定程序whereis实例详解

    在本篇文章里小编给大家整理的是关于Linux查找特定程序 whereis的详细用法实例,有需要的朋友们可以学习下。
    2019-11-11
  • Linux和windows文件互传的两种方案

    Linux和windows文件互传的两种方案

    有时linux主机中的一些文件可能会在windows环境下用到,例如在linux主机中抓了一些图片,想把它们传到windows主机上以作为 word文档的插图,在这些情况下,都需要一种方法来进行两者之间的互通,所以本文给大家介绍了Linux和windows文件互传的两种方案
    2024-05-05
  • Ubuntu虚拟机下使用cutecom进行串口通信的方法

    Ubuntu虚拟机下使用cutecom进行串口通信的方法

    今天小编就为大家分享一篇关于Ubuntu虚拟机下使用cutecom进行串口通信的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Linux 实现定时文件占用磁盘空间大小操作方法

    Linux 实现定时文件占用磁盘空间大小操作方法

    这篇文章主要介绍了Linux 实现定时文件占用磁盘空间大小操作方法,本文内容简短非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Linux取消目录的执行权限的具体步骤

    Linux取消目录的执行权限的具体步骤

    用户对一个文件或目录具有访问权限,这些访问权限决定了谁能访问,以及如何范围这些文件和目录,本文给大家介绍了Linux取消目录的执行权限的具体步骤,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-10-10
  • 建议收藏:好用的 Unix/Linux 命令技巧

    建议收藏:好用的 Unix/Linux 命令技巧

    这篇文章主要介绍了几个好用的 Unix/Linux 命令技巧,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • 在Linux系统下如何编译并执行C++程序

    在Linux系统下如何编译并执行C++程序

    这篇文章主要介绍了在Linux系统下如何编译并执行C++程序问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Linux主机ssh使用秘钥方式实现免登陆互通配置方式

    Linux主机ssh使用秘钥方式实现免登陆互通配置方式

    实现多台服务器间SSH免登陆的操作包括密钥生成、配置与传递,首先在每台主机上生成秘钥,并将公钥传输到对方主机的配置文件中,确保ssh服务开启并且authorized_keys文件具有正确的权限,即可实现免登陆互通,其中可能遇到的问题通常跟文件权限有关
    2024-10-10

最新评论