定位前端问题非常重要的一步是查看日志,在 Linux 系统下最常用的是哪些命令呢?今天一起学习下。
假设现在线上一个网络异常,需要你来排查下问题的原因,首先需要找到存放 log(日志)的位置,假如我找到一个 6k 大写的日志文件。为了验证这几个命令我特意找了一个 git.log 文件。
1、cat(concatenate):连续输出文件的内容
cat git.log:一口气输出 git.log 所有内容;
cat git.log -n:一口气输出 git.log 所有内容,并显示行号(空行也显示行号);
cat git.log -b:一口气输出 git.log 所有内容,并显示行号(空行不显示行号);
2、nl :对行号定制不同的输出样式
可以对打印日志的行号特殊处理,也就是说让显示日志时更好地控制行号的显示,比如控制行号在内容左侧、右侧显示,行号用 0 补齐等。我觉它是 cat 命令对行号的升级版。
nl -n rz git.log:在内容左侧显示行号,并用 0 补全。
3、more:分页显示内容
上面的命令是一口气把全部内容都吐出来了,使用 more 可以一页一页来查看内容。
more git.log:分页查询 git.log 文件内容,当执行完这个命令后,你可以通过下面的参数控制「下一步」的动作。
空白键:向下翻一页;
Enter:向下翻一行;
:f :立刻显示出文件名以及目前显示的行数;
q:退出;
4、less:更多功能的分页显示
less 可以支持向上、向下翻页、直接跳到文件末尾、文件开始。
空白键:向下翻一页;
Enter:向下翻一行;
g:跳到文件开始位置;
G:跳到文件末尾;
q:退出;
5、head:显示前几行
head -n 5:显示前 5 行,默认显示 10 行,通过 -n 指定要显示多少行。
想要显示行号咋么办,前面有讲过 cat -n 可以显示行号,具体命令是:
cat -n git.log | head -n 5
上面的 | 是管道,很好理解,就是把 cat 输出的内容给下一个命令来处理。原本 cat -n git.log 是把内容输出到屏幕上,这次需要通过 head 命令进行处理,只显示 5 行内容。有没有发现 | 和 vue 的过滤器很像。
6、tail:显示末尾几行
tail -n 5:显示后 5 行,默认显示 10 行,通过 -n 指定要显示多少行。
大家加油!!!