目录
[2.1 tail](#2.1 tail)
[① tail -f log.txt](#① tail -f log.txt)
[② tail -1000f log.txt](#② tail -1000f log.txt)
[③ tail -n 20 log.txt](#③ tail -n 20 log.txt)
[2.2 grep](#2.2 grep)
[① grep -m 匹配数量 "匹配内容" log.txt](#① grep -m 匹配数量 "匹配内容" log.txt)
[② grep -C 上线文行数 "匹配的字符串" log.txt](#② grep -C 上线文行数 "匹配的字符串" log.txt)
[2.3 tail 和 grep 的组合](#2.3 tail 和 grep 的组合)
[① tail -1000f log.txt | grep "目标字符串"](#① tail -1000f log.txt | grep "目标字符串")
[2.4 less](#2.4 less)
[① less log.txt](#① less log.txt)
[2.5 head](#2.5 head)
[① head -n 5 log.txt](#① head -n 5 log.txt)
1、目的
最近梳理Linux 中系统打印日志的时候,会经常会用到一些命令来排查对应的打印日志结果。所以进行了梳理。
2、分析
2.1 tail
(用于查看日志文件的末尾内容)
① tail -f log.txt
表示实时监听文件更新的内容,打印新的添加内容到控制台
② tail -1000f log.txt
查看最后1000行并实时监听文件的更新
③ tail -n 20 log.txt
查看文件的尾部n行内容
2.2 grep
(用于在日志文件中搜索特定内容)
① grep -m 匹配数量 "匹配内容" log.txt
其中 grep -m 1 表示多个匹配,只取到第一个匹配到的(数据几就取前几次匹配到的截止)并且是匹配最新的结果
② grep -C 上线文行数 "匹配的字符串" log.txt
打印 匹配对应的字符串的上下文行数。
2.3 tail 和 grep 的组合
上面说了 tail 和grep 的简单的功能,但是可能会遇到一个问题就是,就是使用tail 实时打印的日志内容太多,grep 又是历史的文件内容。所以这里可以 使用管道符 | 将两者结合起来以实现实时打印的特定内容的功能
① tail -1000f log.txt | grep "目标字符串"
表示查看最后1000行并实时监听文件的更新,其中输出的内容 是包含了 目标字符串 的日志内容。
2.4 less
(分页浏览日志)
① less log.txt
在less 环境下,可以使用方向键或者 Page Up/Page Down 键来滚动浏览文件,使用空格键或者Ctrl +F / Ctrl + B 键来翻页,按q 可以退出less 浏览方式
空格键: 向下翻一页
Enter: 向下翻一行
b 键: 向上翻一页
Q 键: 退出less 命令
/ 键: 进行搜索操作
如果需要再文件中搜索某个关键字,可以按下 / 键,然后 输入关键字, 按下N 键可以挑战到下一个匹配项,按下 N 键 可以跳转到上一个匹配项
如果需要退出less 命令,可以按下q 键
2.5 head
(用于查看日志文件的开始部分)
① head -n 5 log.txt
查看文件开头的5行
注: ctrl + C 退出当前的命令模式