楔子:极简便是包容。作为一名经常开车的老司机,查看日志文件是一种家常便饭。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) ,然后想要的地方粘贴