Linux文本处理工具--less

简介: ess是Linux上查看文件内容的工具,功能比more更强大,支持page up和page down,more只能往后查看,不能往前走。另外less有搜索功能,可以向前、向后搜索

Linux文本处理工具--less

less简介

less是Linux上查看文件内容的工具,功能比more更强大,支持page up和page down,more只能往后查看,不能往前走。另外less有搜索功能,可以向前、向后搜索。

截取less的man文档中的一句话,Also, less does not have to read the entire input file before starting, so with large input files it starts up faster than text editors like vi . 也就是说,less启动时不会加载整个文档,所以对于大文件来说,less的启动速度是要比vi更快的。

less命令的用法

less命令是一个交互式的软件,所以less的命令参数选项包含了启动时参数选项和交互式选项,启动参数选项控制软件的运行前行为,交互式参数选项控制启动之后的行为。

less命令格式

less命令基本命令格式为

less [options] filename1,filename2...

less命令参数选项

  1. 启动时参数选项
  • -b <缓冲区大小> 指定缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强制打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将“tab”键显示为规定的数字空格

  1. 交互式参数选项

命令内查看帮助

  • h 显示帮助界面
  • Q 退出less 命令

搜索功能

  • /字符串:向下搜索“字符串”的功能
  • ?字符串:向上搜索“字符串”的功能
  • n:重复前一个搜索,如果是/的话,就是继续向下搜索,如果是?的话,就向上搜索
  • N:反向重复前一个搜索,如果是/的话,就是继续向上搜索,如果是?的话,就向下搜索
  • &字符串:仅仅显示匹配上的行

翻页

  • b 向上翻一页
  • d 向下翻半页
  • u 向上滚动半页
  • y 向上滚动一行
  • 空格键 向下一行
  • 回车键 向下一页
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页
  • Ctrl + F:向下翻页
  • Ctrl + B :向上翻页
  • Ctrl + D :向下移动半屏
  • Ctrl + U : 向上移动半屏
  • G:移动到最后一行
  • g:移动到第一行
    注:向下:是往下走,往页码大的地方走

多个文件打开及文件间操作
less的下方会显示当前文件和下一个文件的文件名

  • 打开多文件的方式
  1. less file1 file2 file3 ...可以打开多个文件
  2. :e:已经运行了less命令,想要打开另外一个文件,可以使用:e进行打开,支持tab补全,支持glob通配
    vim也有相同的两种方式,已经运行vim的情况下需要使用:open file_name,这没有less好用,1.不支持tab键补全;2.不支持glob通配
  • 多文件间切换
  1. 键入 :n:切换到下一个文件,这个和vim一样(vim使用:bn)
  2. 键入 :p:切换到上一个文件,这个和vim一样(vim使用:bp)
  • 使用less编辑文件
  1. :在运行的less界面上,使用v选项,会调用系统默认的编辑器(一般来说是vi,但是具体怎么查看就还是个问题???????EDITOR和VISUAL可能有用,但是查询出来没有值,再有是set -o,本机上的set -o中 vi off。)当进入键入v之后,确实和vi的使用方式是一样的,输入i进入INSERT模式,使用q!,qw等命令都可以。
  • 设置标签
  1. 设置标签,在less界面键入m,然后页面上会出现mark的字样,输入当个字符(多个字符和数字都不行),页面上的mark字样消失。
  2. 返回标签处,在less界面键入',页面出现"goto mark"的字样,输入刚刚设定的标签,就返回到刚刚的页面处。
    这个功能在大文件查看是非常好用!

less命令使用实例

$ps -ef|less 
UID         PID   PPID  C STIME TTY          TIME CMD
root          1      0  0 May08 ?        00:00:03 /sbin/init
root          2      0  0 May08 ?        00:00:00 [kthreadd]
root          3      2  0 May08 ?        00:00:03 [migration/0]
root          4      2  0 May08 ?        00:00:13 [ksoftirqd/0]
root          5      2  0 May08 ?        00:00:00 [stopper/0]
:
# 这样就可以慢慢查看每个进程的id号了,这其实不是经常用,毕竟要浏览所有进程的需求并不多,主要是为了满足单个屏幕无法容下所有内容,而且需要前后翻页的情况。

实验心得

网络上有人说在交互式命令中使用F选项,可以达到文件尾部,但是实验上来看,可以是可以,不过less会有一个计算该文件的行数的过程,我的实验数据是1221049行,个人笔记本的虚拟机,到文件尾部大概花了10秒左右,看起来还不错。但是tail -f file_name是秒出的。
另外如果使用F进入“Waiting for data..”这个模式后,使用Ctrl + c退出,不会立即退出less,可以继续做其他操作
G:可以直接跳到文件尾部,无论是F还是G对系统的资源占用都没有那么大(实验数据量是308M,但是考虑到机器本身也没那么好,所以less的性能还是相当不错了),同样的机器,我使用vim打开该文件,top下的wa%等值都有一定飙升的现象。

参考

https://www.cnblogs.com/peida/archive/2012/11/05/2754477.html
https://www.cnblogs.com/molao-doing/articles/6541455.html

相关文章
|
10月前
|
安全 Linux Shell
四、Linux核心工具:Vim, 文件链接与SSH
要想在Linux世界里游刃有余,光会“走路”还不够,还得配上几样“高级装备”。首先是Vim编辑器,它像一把瑞士军刀,让你能在命令行里高效地修改文件。然后要懂“软硬链接”,软链接像个快捷方式,硬链接则是给文件起了个别名。最后,SSH是你的“传送门”,不仅能让你安全地远程登录服务器,还能用scp轻松传输文件,设置好密钥更能实现免-密登录,极大提升效率。
609 5
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
10月前
|
Unix Linux 程序员
Linux文本搜索工具grep命令使用指南
以上就是对Linux环境下强大工具 `grep` 的基础到进阶功能介绍。它不仅能够执行简单文字查询任务还能够处理复杂文字处理任务,并且支持强大而灵活地正则表达规范来增加查询精度与效率。无论您是程序员、数据分析师还是系统管理员,在日常工作中熟练运用该命令都将极大提升您处理和分析数据效率。
804 16
|
10月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
391 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
12月前
|
缓存 监控 Linux
Linux系统性能调优技巧和相关工具
Linux 作为一种应用应展和系统服务的优选操作系统,在处理性能和端到端点评估上持有出色表现。但是,在处理进程或系统处于低效状态时,性能调优就显得十分重要。本文将探讨一些 Linux 系统性能调优的常用技巧,并介绍相关工具
320 1
Linux系统性能调优技巧和相关工具
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
1301 16
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
583 32
|
11月前
|
数据采集 编解码 运维
一文讲完说懂 WowKey -- WowKey 是一款 Linux 类设备的命令行(CLT)运维工具
WowKey 是一款面向 Linux 类设备的命令行运维工具,支持自动登录、批量执行及标准化维护,适用于企业、团队或个人管理多台设备,显著提升运维效率与质量。
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。