less 命令安全高效查看文本文件,支持分页滚动、正则搜索、管道输入及多种优化选项(如 -nrs),避免二进制误读导致乱码。

less 命令基础用法:打开文件就别用 cat 了
直接用 less filename 打开文件,比 cat 更安全——它不会一口气刷屏,也不会意外触发终端控制序列。尤其适合查看日志、配置文件或大文本(比如几百 MB 的 SQL 导出),less 默认只加载当前屏内容,内存占用低。
常见错误现象:less 打开后显示空白或乱码,大概率是文件含二进制内容(如 PDF、压缩包);此时应先用 file filename 确认类型,别硬看。
- 按
j/k或方向键上下逐行滚动 - 按
Ctrl+F/Ctrl+B翻整页(forward/backward) - 按
q退出,这是唯一可靠退出方式——别用Ctrl+C,可能残留终端状态
搜索与定位:别手动翻到崩溃
less 内置搜索能力远超 vim 的简单模式,关键是它支持正则且不破坏当前视图。输入 /pattern 回车即可向前搜索,?pattern 向后搜。
使用场景:查日志里的报错行(如 /ERROR)、找某次部署的 commit ID(/[0-9a-f]{7,40})、跳转到第 123 行(123G)。
- 搜索区分大小写,默认开启;加
-i启动参数可忽略大小写:less -i app.log - 重复上一次搜索用
n(next),反向重复用N - 匹配高亮需启用
-R(保留颜色)+-P自定义提示符,但日常不用也够用
配合管道和标准输入:不保存也能“看”命令输出
很多用户卡在“怎么用 less 看 ps aux 结果”,其实根本不需要重定向到临时文件:ps aux | less 就行。它把管道数据当流式输入处理,支持全部交互操作。
Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...
性能影响:对小命令(如 ls -la)几乎无感;对大数据流(如 journalctl -u nginx),less 会缓冲,但不会等整个日志加载完才显示——首屏响应快。
- 想让
less自动识别颜色(比如git log --oneline --graph的 ANSI 色块),必须加-R:git log --oneline | less -R - 如果命令输出带控制字符(如进度条 \r),加
-r可强制原样渲染,否则可能显示异常 -
less +F filename是“尾随模式”,类似tail -f,按Ctrl+C退出尾随,再按Shift+G回到底部
容易被忽略的启动选项:几个开关决定体验是否顺手
默认的 less 行为其实在不同发行版/终端下有差异,比如有些系统禁用了鼠标滚轮,有些不显示行号。这些不是 bug,是配置开关没打开。
关键参数差异:-N 显示行号(对调试脚本极有用),-S 截断长行而非换行(避免横向滚动困难),-X 退出时不清屏(方便回溯刚才看到的内容)。
- 常用组合:
less -NRS filename—— 行号 + 截断 + 颜色 + 不清屏 - 永久生效?别改全局 alias,推荐在
~/.bashrc里加:export LESS="-NRS",这样所有man、git help也受益 - 注意
-S和-n(禁用行号)互斥;-n会让G跳转失效,慎用
真正麻烦的是二进制文件误打开后终端乱码——reset 命令能救回来,但最好养成习惯:不确定文件类型前,先 head -c 100 filename | strings | head 快速嗅探。










