导读:本期聚焦于小伙伴创作的《linux中less是什么意思?文本查看命令less的作用与用法详解》,敬请观看详情。把几百兆的日志直接扔进cat,终端瞬间被刷屏,想找一条报错比大海捞针还难。less就是为这种场景而生的文件浏览工具,它不会一次性把内容全加载到屏幕,而是按需读取,支持上下翻页、搜索、跳转。和more不同,less允许向后翻页且启动更快,大文件下几乎不占内存。掌握less的常用参数与交互指令,能让你在服务器上排查问题时事半功倍,不必再频繁借助vim或tail组合命令。

在Linux系统中,less是一个用于查看文件内容的命令行工具,它的设计目标是高效浏览体积较大的文本文件。与cat一次性将全部内容输出到终端不同,less采用按需加载机制,只读取当前需要显示的部分,因此即使面对几个GB的日志文件也能瞬间打开。

linux中less是什么意思?文本查看命令less的作用与用法详解

less这个名字其实带有一些自嘲意味,它最初是作为more命令的增强版出现的,作者开玩笑说“less is more”,意思是功能比more更少束缚、更灵活。实际上less支持前后双向翻页,而早期的more只能向前翻页,这也是两者最核心的区别之一。

less的基础调用方式

最基础的用法非常简单,只需要在终端输入less加上文件名即可。例如我们要查看系统的认证日志,可以执行下面的命令。打开之后,终端会进入less的交互界面,此时文件内容分页展示,底部通常会出现一个冒号提示符等待用户输入指令。

# 查看系统认证日志
less /var/log/auth.log

# 查看某个大文件并忽略换行(方便横向阅读长行)
less -S /var/log/nginx/access.log

在less界面中,常用的移动操作包括:按空格键或PageDown翻到下一页,按b或PageUp翻到上一页,按方向键上下移动一行,按g跳到文件开头,按G跳到文件末尾。这些操作不需要把整个文件读入内存,因此响应非常快。

除了直接跟文件名,less也常配合管道使用。比如我们想查看某个进程的输出并且要分页浏览,就可以用命令生成内容后通过管道交给less。这种写法在排查实时日志或过滤结果时特别实用,避免终端被海量输出淹没。

# 配合grep过滤后分页查看
ps aux | grep nginx | less

# 查看压缩日志(利用zless,本质也是less的变体)
zless access.log.gz

less中的搜索与高亮

在浏览大文件时,人工翻页找关键字效率极低,less内置了强大的搜索功能。在交互界面中按斜杠(/)然后输入要搜索的词,回车即可向下查找;按问号(?)加关键字则向上查找。搜索到的内容会被高亮显示,方便快速定位。

# 在less交互模式中操作(非命令行输入,仅为示意)
/ERROR        # 向下搜索ERROR
?timeout      # 向上搜索timeout
n             # 跳到下一个匹配
N             # 跳到上一个匹配

如果希望启动时直接定位到第一个匹配项,可以在调用less时加上加号和大写G以及搜索词,或者使用-p参数。这样打开文件后无需手动输入搜索指令,就能直接停在关键内容附近,对巡检固定错误模式很有帮助。

另外,less支持正则表达式搜索。比如想找所有以日期开头且包含500状态码的行,就可以用正则表达。这对开发者和运维来说,在分析复杂日志格式时减少了额外写脚本的成本,直接在查看器里完成粗略筛选。

less与more、cat的核心差异

很多初学者会混淆cat、more和less。cat适合把小文件完整打印出来或做重定向;more只能向前翻页且功能较少;less不仅可前后翻,还支持搜索、标记、多文件切换。下面的表格总结了三者常见区别。

命令双向翻页大文件性能搜索功能退出后清屏
cat不支持差(全加载)
more仅向前较好基础
less支持优(按需读)强(正则)

从表格可以看出,less在综合体验上明显优于more。并且less退出后不会清除屏幕已有内容,这一点在需要对照前后命令输出时非常友好。cat虽然快,但遇到大文件就是灾难,所以日常查看日志优先选less。

还有一点容易忽略:less打开文件时并不会立刻读取整个文件,它利用缓冲机制,只在用户翻页时读取对应块。这意味着你可以用less打开一个正在被其他程序写入的日志,结合-F参数还能实现类似tail -f的跟踪效果,不过那是进阶用法。

实用参数与配置建议

less有一组很实用的启动参数。比如-N可以显示行号,方便和报错栈信息对照;-i让搜索忽略大小写;-S禁止自动换行,长行可用左右方向键横向查看;-F如果内容不足一屏则直接输出并退出,适合写脚本判断。

# 显示行号并忽略大小写打开文件
less -Ni /etc/nginx/nginx.conf

# 不换行查看,适合宽表日志
less -S app.log

如果经常使用某些参数,可以通过环境变量LESS来统一设置,这样就不用每次敲命令都带一堆选项。例如把LESS设为-NiS,以后直接less file就会默认带行号、忽略大小写且不换行,对个人工作环境定制非常方便。

# 在bashrc或zshrc中加入
export LESS="-NiS"

最后提醒,less本身只是一个查看器,默认不会修改文件内容。如果不小心按到v键,它会调用系统默认的编辑器(通常是vim)来编辑当前文件,这时退出编辑器回到less即可。理解这一点能避免新手误以为less也能改文件而产生恐慌。

小结

总体来说,linux中less是什么意思,可以概括为一个“轻量但强大的文本浏览器”。它解决的是大文件查看卡顿、无法回溯、难以搜索等痛点。只要记住基础翻页、斜杠搜索、管道配合这几个核心点,就能覆盖绝大多数运维与开发场景。

当你下次再面对几十万行的日志时,别急着cat或者vim,先less一下,用搜索直奔主题,用行号对齐上下文,效率提升立竿见影。这也是为什么几乎所有Linux发行版都默认自带less,而不是只留一个more的原因。

linuxless文本查看修改时间:2026-08-01 10:18:30

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。