Linux Ubuntu下log日志文件的花式查看方法


Linux Ubuntu系统中查看日志的命令有很多:tail, less,cat,tac, head,sed

针对我经常用的,会先上个样例,另外附上帮助中的命令的全部参数及选项

因为经常debug查看日志,less 和 tail 是我用的比较多,个人感觉最实用的,方便搜索日志中的关键词

1、less

对文件或其它输出进行分页显示的工具;搜索功能多,可以向下搜,也可以向上搜。

样例

less xxx.log
G  # (大写G,键盘上按 shift + g)  跳转到log日志最后一行
?Word  # ?问号后跟上需要搜索的关键词,如:?error
N  # (大写N,键盘上按 shift + n)  在多个关键词中切换

命令参数

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

翻译的不好,奉上英文版
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

更多:linux中cat、more、less命令区别详解

2、tail

样例

tail -100 xxx.log  # 查看最后100行日志
tail -100 xxx.log | grep "error"  # 查看日志最后100行,并搜索“error”
tail -fn  1000 xxx.log  # 实时循环查看最后1000行记录
tail -f xxx.log  # 实时查看记录

命令参数

-b Number 从 Number 变量表示的 512 字节块位置开始读取指定文件。 
-c Number 从 Number 变量表示的字节位置开始读取指定文件。 
-f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,则会忽略 
-k Number 从 Number 变量表示的1KB 块位置开始读取指定文件。 
-m Number 从 Number 变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。 
-n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。 
-r 从文件末尾以逆序方式显示输出。-r 标志的缺省值是以逆序方式显示整个文件。   

在这里插入图片描述

3、cat

样例

cat xxx.log  # 查看当前路径下文件内容
cat /home/user/Desktop/xxx.log  # 查看绝对路径下文件内容
cat xxx.log yyy.log > zzz.log  # 将两个文件下的内容重定向到zzz.log文件
cat xxx.log | tail -n +3000 | head -n 1000  # 从3000行起显示1000行

命令参数

-A, --show-all            等于-vET
-b, --number-nonblank     对非空输出行编号
-e                        等于-vE
-E, --show-ends           在每行结束处显示"$"
-n, --number              对输出的所有行编号
-s, --squeeze-blank       不输出多行空行
-t                        与-vT 等价
-T, --show-tabs           将跳格字符显示为^I
-u                        (被忽略)
-v, --show-nonprinting    使用^ 和M- 引用,除了LFD和 TAB 之外

在这里插入图片描述

4、head

样例

head -n  10  test.log   # 查询日志文件中的头10行日志;
head -n -10  test.log   # 查询日志文件除了最后10行的其他所有日志;

命令参数
在这里插入图片描述

5、sed
sed -n '5,10p' filename  # 按行号,只查看文件的第5行到第10行。

sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p'  test.log  # 按时间查看

在这里插入图片描述

6、tac

将日志从最后一行到第一行方向显示在屏幕上
在这里插入图片描述

  • 9
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值