一文搞懂Linux查看log日志常用命令

这篇具有很好参考价值的文章主要介绍了一文搞懂Linux查看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 #命令到文件尾部,然后输入 ?加上你要搜索的关键字例如?111
n #向上查找关键字
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 协议登录系统,身份验证成功。文章来源地址https://www.toymoban.com/news/detail-858812.html

到了这里,关于一文搞懂Linux查看log日志常用命令的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux命令200例:tail用来显示文件的末尾内容(常用)

    🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 🏆本文已收录于专栏:Linux命令大全。 🏆本专栏我们会通过 具体的系统的命令讲解 加上

    2024年02月12日
    浏览(48)
  • mysql开启bin log 并查看bin log日志(linux)

    参数说明:      

    2024年02月13日
    浏览(47)
  • nohup运行Java tail 查看日志

    后台运行命令:nohup nohup命令:nohup是不挂断的意思( no hang up)。如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令忽略所有挂(SIGHUP)信号,可以在你退出帐户/关闭终端之后继续运行相应的进程。 该命令的一般格式为:

    2024年02月04日
    浏览(36)
  • docker 容器日志查看常用命令

    查看最新日志: 将 container_name_or_id 替换为容器的名称或容器ID。这将显示容器的最新日志输出。 实时查看日志: 使用 -f 参数,你可以实时跟踪容器的日志输出,类似于 tail -f 命令。 查看指定行数的日志: 使用 --tail 参数,可以指定查看的日志行数。将 number_of_lines 替换为你

    2024年02月05日
    浏览(51)
  • Ubuntu 中常用的查看日志命令

    要查看Ubuntu的日志,可以使用以下命令: 1. 查看系统日志: 2. 查看应用程序日志: 3. 查看登录日志: 4. 查看内核日志: 5. 查看系统启动日志: 您可以使用 tail 命令来查看最新的日志条目,例如: 这将显示最新的日志条目,并在新条目添加到日志文件时自动更新。

    2024年02月04日
    浏览(40)
  • 在windows系统环境下使用 tail 命令实时查看文件

    文章目录 前言 一、使用tail for Windows工具 二、使用Git Bash Linux系统下我们可以使用tail -f 命令实时查看文件,下面提供两种在windows系统环境下使用tail 命令的方法 。 tail for Windows 是便携式软件不需要安装,它可用于显示文件的最后一行并跟踪/监视文件的更改。 下载地址: 点

    2024年02月16日
    浏览(55)
  • linux下查看日志命令【Linux】

    作为一个开发人员,在服务器上查看日志是必备的技能。 运行在服务器上的程序会实时产生大量的日志,精准的找到自己需要查看部分,查看命令日志这么多,需要用什么效率比较高呢,来实践一下。 例如:tail -n 100 filename 将显示文件filename的最后100行内容。 例如:head -n

    2024年02月08日
    浏览(44)
  • linux 查看日志包含***字符上下200行日志命令

    在 Linux 中,如果你想查找包含特定字符(如 \\\"syncBlackAds\\\")的日志行,并且同时查看这一行上下各200行的日志内容,你可以使用 grep 命令结合 awk 命令来实现这一需求。以下是一个命令示例,用于实现这个目的: awk \\\'/***/{print NR}\\\' /path/to/user.log | xargs -I{} awk \\\'NR={}-200 NR={}+200\\\' /pat

    2024年03月17日
    浏览(49)
  • 【Linux查看进程和日志的命令】

    Linux 中可以使用以下命令来查看进程和日志: 可以使用 ps 和 top 命令来查看正在运行的进程,两者的区别在于 ps 命令是一次性显示所有进程信息,而 top 命令可以实时显示进程信息,包括 CPU 使用率、内存占用率等。 例如,使用 ps aux 命令可以显示所有进程的详细信息,包括

    2024年02月13日
    浏览(42)
  • 图文结合带你搞懂MySQL日志之Binary log(二进制日志)

    往期回顾 图文结合带你搞定MySQL日志之Undo log(回滚日志) 图文结合带你搞懂InnoDB MVCC 图文结合带你搞懂MySQL日志之Redo Log(重做日志) 图文结合带你搞懂MySQL日志之Error Log(错误日志) 图文结合带你搞懂MySQL日志之Slow Query Log(慢查询日志) 图文结合带你搞懂MySQL日志之relay log(中

    2024年02月07日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包