Linux查看日志常用命令

查看日志常用命令

主要常用的命令有:tail、cat、less、more、head、vim

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 -200f info.log :动态查看最后200行实时输出info.log日志

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

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

tail -100f xxx.log | grep '2022-05-23 18:1[0-9]'    ------查找最新的100行中时间范围在2022-05-23 16:10-2022-05-23 16:19范围中的行

cat

格式

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

常用参数

-n 或 --number:由 1 开始对所有输出的行数编号。
-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
-v 或 --show-nonprinting:使用 ^M- 符号,除了 LFDTAB 之外。
-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行关联的全部内容

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]: 向上翻动一页

例子

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

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

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

4.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏

5.单行导航
j - 向前移动一行
k - 向后移动一行

6.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令

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

head

格式

head [参数] [文件]  

常用参数

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

例子

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

vim

格式

vim [文件]  

Linux中根据关键字查询日志前后行

需要了解的含义

-A 表示关键字之后,After
-B 表示关键字之前,Before
-C 表示关键字前后,Context

查询test.log日志文件中后100行(其中’填写的是需要查找的关键字’)

grep -A 100  'error' test.log

查询test.log日志文件中前10行

grep -B 10  'error' test.log

查询test.log日志文件中前后10行

grep -C 10  'error' test.log

查询关键字后50行和前5行

grep -A 50 -B 5 'error' test.log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值