如何查看服务端日志?

一、直接查看文件内容

cat [-AbEnTv]

选项与参数

-A :相当于-vET的整合, 课列出一些特殊字符而不是空白而已
-b :列出行号,进针对非空白行做行号显示,空白行不会标记
-E :将结尾换行符$显示出来
-n :打印出行号,连同空白行也会有行号,与-b的选项不同
-T : 将[tab]键以^I显示出来
-v : 列出一些看不出来的特殊字符

tac(和cat打印顺序相反)

二、翻页查看

less less可前后翻页,不止向上查找,也可向下查找

按键/命令

[pagedown] :向下翻页
[pageup] :向上翻页
/字符串:在当前显示的内容(翻页进度位置),向下查找这个字符串关键字
?字符串:向上查找字符串
n :重复前一个查找,与/或?有关, 比如前一个命令是?表示向上查找,此时n会向上查找
N :反向的重复前一个查找
g :跳转到当前文件数据的第一行
G :跳转到当前文件数据的最后一行
q :退出当前文件的浏览

三、数据截取

head

head命令用来提取文件的前n行,一般配合使用-n选项。当指定的行数为负数-x时,则会打印出除了后面x行的其他所有数据。

1
head -n 10 error.log

tail

从文件尾部截取数据。tail也是工作中最常用的命令,因为可以利用-f选项,一直刷新获取文件尾部最新数据。

选项与参数

-n : 查看后n行数据,注意当n后面值带“+”号表示从第x行开始, 如 tail -n +1000 test.txt
-f : 展示文件后面

四、筛选日志

grep

example:查看文件包含 ‘hello’

1
2
cat -n error.txt | grep 'hello'
tail -200f error.log | grep 'hello'

五、其它

>> : 文件追加重定向命令

example:将 test.txt 的最后10行复制到hello.txt中

1
tail -n 10 test.txt >> hello.txt

六、组合使用示例

example: 查看文件 10 ~ 20 行

1
2
3
head -n 20 text.txt | tail -n 10

cat -n test.txt | head -n 20 | tail -n 10

参考文献:https://juejin.cn/post/6844904069627133966