Linux 命令:less

Linux less 命令详细教程

  • less 是 Linux 系统中用于分页查看文件内容 的强大工具,它支持向前/向后滚动、搜索、标记等功能,适合查看大文件或交互式浏览文本内容。与 more 相比,less 功能更丰富,且占用资源更少(无需加载整个文件)。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
bash 复制代码
less [选项] 文件
  • 核心特点
    • 分页显示文件内容,支持键盘导航。
    • 无需加载整个文件,响应速度快。
    • 支持搜索、书签、高亮等高级功能。
二、常用选项
选项 功能描述
-N 显示行号(每行前添加行号)
-i 搜索时忽略大小写(默认区分大小写)
-m 显示百分比进度(在底部状态栏显示当前位置)
-S 强制单行显示(不换行,超长内容用 > 表示)
-F 文件较短时直接退出(不进入分页模式)
-R 正确显示 ANSI 颜色代码(用于查看带颜色的日志)
-x 设置 Tab 宽度(如 -x4 表示 Tab 为 4 个空格)
+/模式 打开文件后直接定位到第一个匹配项(如 less +/ERROR log.txt
三、交互命令(进入 less 后可用)
1. 导航操作
按键 功能
↑/↓ 上/下滚动一行
PageUp/PageDown 上/下翻一页
Home/End 跳到文件开头/结尾
G 跳到文件末尾
数字G 跳到指定行(如 100G 跳到第 100 行)
h 显示帮助界面
q 退出 less
2. 搜索功能
按键 功能
/关键词 向下搜索关键词(如 /error
?关键词 向上搜索关键词
n 重复上次搜索(方向相同)
N 重复上次搜索(方向相反)
&pattern 仅显示匹配的行(过滤模式,按 & 取消)
3. 书签与标记
按键 功能
ma 在当前位置标记书签(a 为书签名称,可自定义为其他字母)
`a 跳转到书签 a 标记的位置
mark 显示所有书签
4. 其他实用命令
按键 功能
v 使用默认编辑器(如 vim)编辑当前文件
!命令 执行 shell 命令(如 !ls 查看当前目录)
` 命令`
= 显示当前行号和文件百分比
y 复制当前行到系统剪贴板(需系统支持)
四、实际操作示例
1. 基本分页查看
bash 复制代码
less large_file.log  # 打开文件,进入分页模式
2. 带行号查看
bash 复制代码
less -N access.log  # 显示行号,方便定位
3. 搜索特定内容
bash 复制代码
less +/ERROR app.log  # 打开文件并直接定位到第一个 ERROR
  • 在 less 中继续搜索:按 / 输入新关键词,按 n 跳转到下一个匹配项。
4. 查看带颜色的日志
bash 复制代码
less -R colored_log.txt  # 正确显示 ANSI 颜色代码
5. 单行显示模式(适合查看包含长路径的文件)
bash 复制代码
less -S paths.txt  # 超长内容不换行,用水平滚动查看
6. 结合管道使用
bash 复制代码
dmesg | less  # 分页查看系统日志
五、配置与自定义

less 的行为可通过环境变量或配置文件自定义。常见配置方法:

  1. 设置环境变量(临时生效):

    bash 复制代码
    export LESS='-i -N -m'  # 所有 less 命令默认带这些选项
  2. 修改配置文件(永久生效):

    bash 复制代码
    # 编辑 ~/.lesskey 文件,添加配置
    echo "export LESS='-i -N -m'" >> ~/.bashrc
    source ~/.bashrc
六、与其他命令对比
命令 特点 适用场景
cat 一次性输出全部内容 小文件快速查看
more 简单分页,只能向前翻 简单浏览大文件
less 支持双向滚动、搜索、标记 复杂交互,大文件深入分析
head/tail 显示文件前/后几行 快速预览日志头部/尾部
七、注意事项
  1. 性能优势less 无需加载整个文件,适合处理 GB 级大文件,而 cat 可能导致内存溢出。

  2. 编码问题 :若文件乱码,可尝试指定编码:

    bash 复制代码
    less -f --encoding=utf-8 file.txt  # 指定 UTF-8 编码
  3. 退出方式 :务必使用 q 退出,避免直接关闭终端导致进程残留。

八、总结

less 是 Linux 中最实用的文本查看工具之一,掌握其核心操作(导航、搜索、标记)能大幅提升文件浏览效率。建议通过 man less 查看完整手册,或在实际使用中按 h 查看内置帮助。日常工作中,可将常用选项配置到环境变量中,进一步提高使用体验。

相关推荐
YC运维19 分钟前
网络配置综合实验全攻略(对之前学习的总结)
linux·服务器·网络
不太可爱的大白21 分钟前
Mysql:分库分表
数据库·mysql
十五年专注C++开发1 小时前
hiredis: 一个轻量级、高性能的 C 语言 Redis 客户端库
开发语言·数据库·c++·redis·缓存
平凡灵感码头1 小时前
什么是 Bootloader?怎么把它移植到 STM32 上?
linux·soc
无敌的牛2 小时前
Linux基础开发工具
linux·运维·服务器
Edingbrugh.南空2 小时前
实战指南:用pmap+gdb排查Linux进程内存问题
linux·运维·服务器
bianguanyue2 小时前
SQLite密码修改故障排查:RSA加密随机性导致的数据库匹配问题
数据库·sqlite·c#
亚马逊云开发者2 小时前
将 Go 应用从 x86 平台迁移至 Amazon Graviton:场景剖析与最佳实践
linux·数据库·golang
大叔是90后大叔2 小时前
Linux/Ubuntu安装go
linux·ubuntu·golang
孙克旭_3 小时前
day051-ansible循环、判断与jinja2模板
linux·运维·服务器·网络·ansible