定位前端问题非常重要的一步是查看日志,在 Linux 系统下最常用的是哪些命令呢?今天一起学习下。

假设现在线上一个网络异常,需要你来排查下问题的原因,首先需要找到存放 log(日志)的位置,假如我找到一个 6k 大写的日志文件。为了验证这几个命令我特意找了一个 git.log 文件。

1、cat(concatenate):连续输出文件的内容

cat git.log:一口气输出 git.log 所有内容;

zgrep怎么看部分日志_git

cat git.log -n:一口气输出 git.log 所有内容,并显示行号(空行也显示行号);

cat git.log -b:一口气输出 git.log 所有内容,并显示行号(空行不显示行号);

zgrep怎么看部分日志_git_02

2、nl :对行号定制不同的输出样式

可以对打印日志的行号特殊处理,也就是说让显示日志时更好地控制行号的显示,比如控制行号在内容左侧、右侧显示,行号用 0 补齐等。我觉它是 cat 命令对行号的升级版。

nl -n rz git.log:在内容左侧显示行号,并用 0 补全。

zgrep怎么看部分日志_git_03

3、more:分页显示内容

上面的命令是一口气把全部内容都吐出来了,使用 more 可以一页一页来查看内容。

more git.log:分页查询 git.log 文件内容,当执行完这个命令后,你可以通过下面的参数控制「下一步」的动作。

zgrep怎么看部分日志_git_04

空白键:向下翻一页;

Enter:向下翻一行;

:f :立刻显示出文件名以及目前显示的行数;

zgrep怎么看部分日志_git_05

q:退出;

4、less:更多功能的分页显示

less 可以支持向上、向下翻页、直接跳到文件末尾、文件开始。

空白键:向下翻一页;

Enter:向下翻一行;

g:跳到文件开始位置;

G:跳到文件末尾;

q:退出;

5、head:显示前几行

head -n 5:显示前 5 行,默认显示 10 行,通过 -n 指定要显示多少行。

zgrep怎么看部分日志_显示行号_06

想要显示行号咋么办,前面有讲过 cat -n 可以显示行号,具体命令是:

cat -n git.log | head -n 5

zgrep怎么看部分日志_vim_07

上面的 | 是管道,很好理解,就是把 cat 输出的内容给下一个命令来处理。原本 cat  -n git.log 是把内容输出到屏幕上,这次需要通过 head 命令进行处理,只显示 5 行内容。有没有发现 | 和 vue 的过滤器很像。

6、tail:显示末尾几行

tail -n 5:显示后 5 行,默认显示 10 行,通过 -n 指定要显示多少行。

zgrep怎么看部分日志_git_08

大家加油!!!