当前位置: 首页 > news >正文

(二)文件管理-文件查看-less命令的使用

文章目录

  • 1. 命令格式
  • 2. 基本用法
    • 2.1 查看文件
  • 3. 高级用法
    • 3.1 搜索
    • 3.2 标记与导航
    • 3.3 多文件操作
    • 3.4 shell 命令集成
    • 3.5 跟随模式
  • 4. 注意事项
    • 4.1 只读性
    • 4.2 二进制文件
    • 4.3 内存使用
    • 4.4 环境变量LESS
    • 4.5 与 more 的关系
    • 4.6 管道符 | 的绝佳搭档
    • 4.7 兼容性

1. 命令格式

less 的核心是打开文件并进入浏览模式。在此模式下,你可以使用各种快捷键来导航

less [options] [filename]...
  • [options]: 可选,用于改变 less 的行为。
  • [filename]: 可选,指定要查看的一个或多个文件名。可以是相对路径或绝对路径

2. 基本用法

2.1 查看文件

# 查看系统日志
less /var/log/syslog# 查看文件并显示行号
less -N /etc/passwd

进入浏览模式后,常用快捷键:

  • 空格键 / PageDown: 向下翻一页
  • b / PageUp: 向上翻一页
  • ↓ / ↑: 向下/向上移动一行
  • G: 跳转到文件末尾
  • g: 跳转到文件开头
  • /pattern: 向下搜索字符串 “pattern”,按 n 下一个,N 上一个
  • q: 退出 less

3. 高级用法

3.1 搜索

  • /<pattern>: 向前(下)搜索
  • ?<pattern>: 向后(上)搜索
  • n: 重复上一次搜索(相同方向)
  • N: 重复上一次搜索(相反方向)
  • &<pattern>: 仅显示包含模式的行(一个简单的过滤器)。按 & 后回车取消过滤

3.2 标记与导航

  • ma: 用字母 a 标记当前的位置
  • 'a: (单引号) 跳转到标记 a 的位置

这在阅读代码或日志时非常方便,你可以标记一个位置,翻到别处查看,然后一键返回

3.3 多文件操作

可以同时打开多个文件

less file1.txt file2.log
  • :n: 切换到下一个文件
  • :p:切换到上一个文件
  • :e <filename>: 在当前 less 会话中打开另一个新文件

3.4 shell 命令集成

  • !<command>: 执行一个 shell 命令。例如,输入 !ls -l 会列出当前目录的文件,按回车返回 less

3.5 跟随模式

进入后,按下大写 F,即可开始实时监控访问日志。有新请求进来时会自动显示在屏幕底部。

less /var/log/apache2/access.log
  • F: 进入跟随模式。实时显示文件新增的内容(常用于监控不断增长的日志文件)。按 Ctrl+C 中断跟随,但不会退出 less

4. 注意事项

4.1 只读性

less 仅用于查看文件,不能直接编辑。虽然有一些方法可以调用编辑器(如 v 命令),但它本身不是编辑器,所以less更适合用来查看日志。查看代码用 vi/vim 会更好。

4.2 二进制文件

使用 less 查看二进制文件(如可执行程序、压缩包)会显示乱码。虽然可以,但通常没有意义。用 strings 或十六进制查看器 xxd 更合适

4.3 内存使用

less 不会一次性加载整个文件到内存,而是按需读取,所以用它打开超大文件(几个G)是安全且高效的

4.4 环境变量LESS

你可以通过设置 LESS 环境变量来定义 less 的默认选项

# 在 ~/.bashrc 或 ~/.zshrc 中添加一行,让 less 总是显示行号并忽略搜索大小写
export LESS='-i -N'

4.5 与 more 的关系

less 的名字源于 "less is more",它是 more 的增强版。在大多数系统上,less 已经完全取代了 more

4.6 管道符 | 的绝佳搭档

less 最常见的用法之一是接在管道后面,用于分页查看长输出

# 查看历史命令,并分页显示
history | less# 查看所有进程,并可以上下滚动
ps aux | less# 查看内核日志,并高亮显示 ‘error’ (需要 grep 的 --color=always)
dmesg | grep --color=always "error" | less -R

4.7 兼容性

less 的快捷键设计深受 vi 编辑器的影响(如 j, k, G, g, /),所以如果你熟悉 vi,会非常容易上手


文章转载自:

http://iNJrua6Z.drjLL.cn
http://4bpR2UNj.drjLL.cn
http://8Y3bcqxy.drjLL.cn
http://IEVeli1O.drjLL.cn
http://sLkcJ4MN.drjLL.cn
http://fG1KN0RZ.drjLL.cn
http://gLu8bGDN.drjLL.cn
http://JVKBF9t1.drjLL.cn
http://JNo9AbsZ.drjLL.cn
http://mLsz6p8g.drjLL.cn
http://FVmEBDPs.drjLL.cn
http://DF1SkMje.drjLL.cn
http://3tAn3Dzi.drjLL.cn
http://9qNFsc83.drjLL.cn
http://gei6mQe9.drjLL.cn
http://SrIpNJvb.drjLL.cn
http://nApM82Mt.drjLL.cn
http://UFkz9q8W.drjLL.cn
http://Qh69tkuZ.drjLL.cn
http://OeaIVMz7.drjLL.cn
http://cfJib3nu.drjLL.cn
http://wxQ3Sm7D.drjLL.cn
http://ECgyLw6V.drjLL.cn
http://RFF4baJz.drjLL.cn
http://eheJbML9.drjLL.cn
http://N3IBxwVn.drjLL.cn
http://DUqTullE.drjLL.cn
http://3XPCFlpr.drjLL.cn
http://fajfH3sm.drjLL.cn
http://rgMjOWhb.drjLL.cn
http://www.dtcms.com/a/380244.html

相关文章:

  • 深入理解节流(Throttle):原理、实现与应用场景
  • 汽车电子电气架构中的电源架构(下)
  • GISBox与GeoServer使用体验全对比:轻量化工具如何重新定义GIS价值?
  • 02.【Linux系统编程】Linux权限(root超级用户和普通用户、创建普通用户、sudo短暂提权、权限概念、权限修改、粘滞位)
  • JavaEE 初阶第二十二期:网络原理,底层框架的“通关密码”(二)
  • Netty 实战应用:从 RPC 到即时通讯,再到 WebSocket
  • 南京方言数据集|300小时高质量自然对话音频|专业录音棚采集|方言语音识别模型训练|情感计算研究|方言保护文化遗产数字化|语音情感识别|方言对话系统开发
  • Django全栈班v1.04 Python基础语法 20250912 下午
  • uniapp多端打包样式处理
  • Unity学习----【进阶】TextMeshPro学习(一)--基础知识点
  • Echarts雷达图根据数值确定颜色
  • etcd备份脚本
  • 基于 OpenCV 与 SIFT 算法的指纹识别系统实现:从匹配到可视化
  • uniapp微信小程序保存海报到手机相册canvas
  • 3227. 字符串元音游戏
  • 【python实用小脚本-215】[硬件互联] 按钮×Python梦幻联动|用20行代码实现“一键录音”自动化改造实录(建议收藏)
  • 分布式专题——10.2 ShardingSphere-JDBC分库分表实战与讲解
  • 机器学习-数据标注
  • Leetcode:动态规划算法
  • 鸿蒙项目篇-22-项目功能结构说明-写子页面和导航页面
  • 深入解析 Kubernetes 中的 Service 资源:为应用提供稳定的网络访问
  • JAiRouter 0.8.0 发布:Docker 全自动化交付 + 多架构镜像,一键上线不是梦
  • 自如入局二手房,对居住服务行业的一次范式重构
  • BLE6.0信道探测,如何重构物联网设备的距离感知逻辑?
  • 【OC】单例模式
  • 【数据结构】LRU Cache
  • 阅读翻译Discovering Modern C++之5.2.3 A `const`-Clean View Example
  • MUSIC, Maximum Likelihood, and Cramer-Rao Bound
  • APT32F0042F6P6 32位微控制器(MCU)单片机 APT爱普特微电子 芯片核心解析
  • react3面试题