Linux书签(06)用linux less命令查看大日志文件

楔子:极简便是包容。作为一名经常开车的老司机,查看日志文件是一种家常便饭。Linux less 命令就是这样一道非常下饭的菜,学会用它查看日志文件,也许会让很多问题及时被发现和定位。Less is more。

Linux less 命令

Linux less 命令与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,不能向后移动。而且 less 在查看之前不会加载整个文件,所以加载速度会比 more 更快。

由于 more 不能后退,就取 more 的反义词 less 加上后退功能。所以 Linux 里流传着这样一句话:"less is more"。

more 和 less 的区别:

  • less 不必读整个文件,所以加载速度会比 more 更快
  • less 可以按键盘上下方向键显示上下内容,而 more 不能通过上下方向键控制显示
  • less 退出后 shell 不会留下刚显示的内容,而 more 退出后会在 shell 上留下刚显示的内容
cat 由第一行开始显示内容,并将所有内容输出
tac 从最后一行倒序显示内容,并将所有内容输出
more 根据窗口大小,一页一页的现实文件内容
less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符
head 只显示头几行
tail 只显示最后几行
nl 类似于cat -n,显示时输出行号
tailf 类似于tail -f

语法格式

less [-选参] 文件名 

选参说明

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

参考示例

01)查看文件

less catalina.out

02)ps 查看进程信息并通过 less 分页显示

ps -ef | less

03) 查看命令历史使用记录并通过 less 分页显示

history | less

04)浏览多个文件

less catalina.2019-05-23.log catalina.2019-05-22.log

说明:
输入:n,切换到 catalina.2019-05-22.log
输入:p,切换到 catalina.2019-05-23.log

脱坑备注

1. 全屏导航(字母不分大小写)

  • 按 ctrl 键 + F:向前移动一屏
  • 按 ctrl 键 + B:向后移动一屏
  • 按 ctrl 键 + D:向前移动半屏
  • 按 ctrl 键 + U:向后移动半屏

2. 单行导航(字母不分大小写)

  • 按 J 键 或者 enter 键:向前移动一行
  • 按 K 键:向后移动一行

3. 标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:

  1. 按 m 键:出现 mark  提示,使用 x 标记文本的当前位置
  2. 按 'x 键:导航到标记 x 处

4. 其它导航

  • 按 G 键:移动到文件最后一行
  • 按 g 键:移动文件到第一行
  • 按 Q 键,或者 q 或者 ZZ 或者 ctrl + z 或者 ctrl + Z:退出 less 命令

5. 其它有用的命令,在 less 查看日志文件时

  • 按 v 键:使用配置的编辑器编辑当前文件, shift + ZZ 保存退出到 less 查看模式
  • 按 h 键:显示 less 的帮助文档,后,按 enter 键后翻,按 q 键退出帮助文档
  • 按大写 F,就会有类似 tail -f 的效果,读取写入文件的最新内容, 按 ctrl + C 停止,退到 less 查看模式
  • 复制选中内容:按 右ctrl + insert(prt sc) ,然后想要的地方粘贴
发布了63 篇原创文章 · 获赞 13 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/itanping/article/details/90259435