Linux 命令:less

发布于:2025-07-13 ⋅ 阅读:(19) ⋅ 点赞:(0)

Linux less 命令详细教程

  • less 是 Linux 系统中用于分页查看文件内容的强大工具,它支持向前/向后滚动、搜索、标记等功能,适合查看大文件或交互式浏览文本内容。与 more 相比,less 功能更丰富,且占用资源更少(无需加载整个文件)。
  • 资料已经分类整理好:https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
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. 基本分页查看
less large_file.log  # 打开文件,进入分页模式
2. 带行号查看
less -N access.log  # 显示行号,方便定位
3. 搜索特定内容
less +/ERROR app.log  # 打开文件并直接定位到第一个 ERROR
  • 在 less 中继续搜索:按 / 输入新关键词,按 n 跳转到下一个匹配项。
4. 查看带颜色的日志
less -R colored_log.txt  # 正确显示 ANSI 颜色代码
5. 单行显示模式(适合查看包含长路径的文件)
less -S paths.txt  # 超长内容不换行,用水平滚动查看
6. 结合管道使用
dmesg | less  # 分页查看系统日志
五、配置与自定义

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

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

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

    # 编辑 ~/.lesskey 文件,添加配置
    echo "export LESS='-i -N -m'" >> ~/.bashrc
    source ~/.bashrc
    
六、与其他命令对比
命令 特点 适用场景
cat 一次性输出全部内容 小文件快速查看
more 简单分页,只能向前翻 简单浏览大文件
less 支持双向滚动、搜索、标记 复杂交互,大文件深入分析
head/tail 显示文件前/后几行 快速预览日志头部/尾部
七、注意事项
  1. 性能优势less 无需加载整个文件,适合处理 GB 级大文件,而 cat 可能导致内存溢出。
  2. 编码问题:若文件乱码,可尝试指定编码:
    less -f --encoding=utf-8 file.txt  # 指定 UTF-8 编码
    
  3. 退出方式:务必使用 q 退出,避免直接关闭终端导致进程残留。
八、总结

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


网站公告

今日签到

点亮在社区的每一天
去签到