Linux系列Linux查看日志常用命令大全,再也不怕不会看日志啦

Posted 善良勤劳勇敢而又聪明的老杨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系列Linux查看日志常用命令大全,再也不怕不会看日志啦相关的知识,希望对你有一定的参考价值。

热门系列:


1、前言

作为一个后端开发,基本都是需要到服务器查看日志的。。。尤其是,生产环境如果出了问题,那么查看日志排查问题,则是必学必会的技能啦!!!

虽然常用,但是几天不用,可能就会生疏或模糊。所以,好记性不如烂笔头,还是整理记录一下更好。随用随看,Nice!

当然,如果有需要了解Linux其他常用命令的朋友,请点击往期博文:【Linux系列】Linux实践(一):linux常用命令


2、查看日志常用命令

主要常用的命令有:\\large \\mathrm{​{\\color{DarkRed} tail}}\\large {\\color{DarkRed} \\mathrm{cat}}\\large \\mathrm{​{\\color{DarkRed} less}}\\large {\\color{DarkRed} \\mathrm{ more}}\\large \\mathrm{​{\\color{DarkRed} head }}\\large \\mathrm{​{\\color{DarkRed} vim}}

2.1、tail

命令格式:

tail [参数] [文件] 

常用参数:

  • -f 循环读取
  • -q 不显示处理信息
  • -v 显示详细的处理信息
  • -c<数目> 显示的字节数
  • -n<行数> 显示文件的尾部 n 行内容
  • --pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
  • -q, --quiet, --silent 从不输出给出文件名的首部
  • -s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒

例子:

tail -f info.log  :动态查看实时输出info.log日志

tail -n 200 info.log查看info.log日志后200行

tail -f info.log | grep  "orderId"动态查看含有关键字orderId的日志

 


2.2、cat

命令格式:

cat [-AbeEnstTuv] [--help] [--version] 文件名

常用参数:

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

例子:

cat info.log查看info.log的全部日志内容

cat info.log | grep  "java"查看info.log的java关键字关联的全部内容

cat info.log | grep -A 5 "java"查看info.log的java关键字后5行关联的全部内容

cat info.log | grep -B 10 "java"查看info.log的java关键字前10行关联的全部内容

cat info.log | grep -C 20 "java"查看info.log的java关键字前后20行关联的全部内容


2.3、less

命令格式:

less [参数] 文件 

常用参数:

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

例子:

less info.log :从头开始查看info.log日志内容

搜索方式:

向前搜索

先输入/,再加搜索关键字,如 /getName,则会高亮显示关键字getName内容,按n : 向后查找下一个匹配的关键字的内容,shift+n : 向后查找前一个匹配的文本;

向后搜索

先输入?,再加搜索关键字,如 /getName,则会高亮显示关键字getName内容,按n : 向前查找下一个匹配的关键字的内容,shift+n : 向后查找后一个匹配的文本;

附:

1.全屏导航

  • ctrl + F - 向前移动一屏
  • ctrl + B - 向后移动一屏
  • ctrl + D - 向前移动半屏
  • ctrl + U - 向后移动半屏

2.单行导航

  • j - 向前移动一行
  • k - 向后移动一行

3.其它导航

  • G - 移动到最后一行
  • g - 移动到第一行
  • q / ZZ - 退出 less 命令

2.4、more

命令格式:

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

常用参数:

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

例子:

more info.log查看info.log的日志内容,按下方附加操作滚动日志内容

more info.log |grep "test"查看全部关键字test关联内容

附:

  • Enter 向下n行,需要定义。默认为1行
  • Ctrl+F 向下滚动一屏
  • 空格键 向下滚动一屏
  • Ctrl+B 返回上一屏
  • = 输出当前行的行号
  • :f 输出文件名和当前行的行号
  • V 调用vi编辑器
  • !命令 调用Shell,并执行命令
  • q 退出more

2.5、head

命令格式:

head [参数] [文件]  

常用参数:

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<数目> 显示的字节数
  • -n<行数> 显示的行数

例子:

head -n 20 info.log查看info.log日志的前20行内容


2.6、vim

命令格式:

vim [文件] 

备注说明:一般VIM是用来编辑文件的,所以不是查看日志的常用命令。但是VIM也是可以实现日志文件内容查看的。

例子:

vim info.log进入文件。然后,按?关键字,搜寻匹配关键字相关内容!如?getName,则会高亮显示关键字相关内容,按n或shift+n前后滚动日志内容!


3、总结

命令不需要全部记得那么清楚,但一定要了解或知道有那么个命令功能。所以,记录收藏起来,便可以大大提高的操作效率!!!

最后,欢迎大家下方留了言指正不足之处,共勉!!!

 

以上是关于Linux系列Linux查看日志常用命令大全,再也不怕不会看日志啦的主要内容,如果未能解决你的问题,请参考以下文章

我爱java系列---linux系统查看日志常用命令

Linux系列之:9秒钟掌握多种实时查询日志的方法,再也不用cat命令了。

干货Linux命令大全,99%的运维用的到

Linux 命令大全

linux 常用命令大全

cmd调取windows组件的dos命令大全和常用网络工具,及Linux系统下命令大全