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

相关文章
|
3月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
381 8
|
21天前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
86 36
|
1月前
|
Rust Ubuntu Java
[Linux工具] Makefile
Makefile是Linux环境下用于自动化编译和链接程序的配置文件,常用于简化大型项目的编译流程。通过定义目标文件、依赖文件及生成命令,Makefile能高效管理编译任务。它不仅适用于C语言项目,还可扩展到其他编程语言和非编程任务中。
58 20
[Linux工具] Makefile
|
8天前
|
Linux API
Linux下载工具wget与curl
`wget` 是一个用于从网络下载文件的命令行工具,支持HTTP、HTTPS和FTP协议。它能自动处理下载中断,并支持递归下载网站内容。基本用法:`wget URL`,可指定文件名(`-O`)、保存目录(`-P`),还支持断点续传(`-c`)、限速(`--limit-rate`)和递归下载(`-r`)。相比之下,`curl` 更侧重于发送各种HTTP请求(如GET、POST),并支持文件上传、自定义请求头和cookie等功能。
36 10
|
4天前
|
存储 Ubuntu 前端开发
Linux软件包管理工具概览
在Linux系统中,dpkg、apt、rpm、yum和dnf是几种常见的包管理工具,它们分别属于不同的Linux发行版或家族,并有着各自的诞生顺序和特点。下面将按照这些工具的诞生顺序,并结合Debian、Red Hat、CentOS、Ubuntu和Kali等系统,进行详细的介绍。
19 4
|
1月前
|
Linux 网络性能优化 网络安全
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
93 28
|
30天前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
41 11
|
1月前
|
安全 网络协议 Linux
结合 `nc` 工具利用笑脸漏洞(Smile Bug)攻击 Metasploitable2 Linux
本文介绍如何使用 `nc`(Netcat)工具结合笑脸漏洞(Smiley Bug)攻击 Metasploitable2 Linux 靶机。首先概述了 `nc` 的基本功能和高级用法,包括建立连接、监听端口、文件传输等操作。接着详细描述了笑脸漏洞的原理及其在网络攻防中的应用,展示了通过 `nc` 发送恶意输入检测漏洞的方法。最后结合 Python 脚本实现更复杂的攻击场景,并强调了合法性和环境隔离的重要性。
54 13
|
2月前
|
运维 监控 Linux
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
203 6
|
3月前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
100 4