楔子:极简便是包容。作为一名经常开车的老司机,查看日志文件是一种家常便饭。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 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
- 按 m 键:出现 mark 提示,使用 x 标记文本的当前位置
- 按 '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) ,然后想要的地方粘贴