与more的区别

more在man手册中的英文原文是文件熟读过滤器(file perusal filter),其实可以理解为一种文本查看器。

它存在一些缺点:

  • 必须事先加载完整个文件。因此在遇到大文件的时候,需要等待。
  • 翻阅到文件尾部的时候自动退出。

man手册也有说明more这个命令已经是比较远古的了,建议大家使用less这个提供了更多(more)功能的工具。

This version is especially primitive.  Users should realize that less(1) provides more(1) emulation plus extensive enhancements.

简介

less命令类似于more命令,但是它支持向上翻页和向下翻页。

另外,less在开始前不需要读取整个输入文件,所以在读取大文件的时候它启动的速度要快于文本编辑器vi的。

由于less使用的是termcap,因此它可以运行在多种终端之上。即便是在硬拷贝(hardcopy)终端上也可以具备有限的支持。

less中的命令是基于more和vi的。可以在部分命令之前加上一个十进制的数字,下文用N来表示。

less内部常用命令说明

注意:在下文描述中,^X表示Ctrl+X,Ctrl和x按键要同时按住;ESC表示ESCAPE按键;例如ESC-v表示先按ESCAPE,再按v。

基本相关

  • h:等同于less --help,查看简要帮助,较实用。
  • q:退出帮助或者退出less查看器。

移动相关

  • j/k:向下/上滚动1行,可带N,表示滚动N行。
  • d/u:向下/上滚动N行,默认是0.5个屏幕。如果带N了,那么N就成为后来的默认值。
  • SPACE:向下滚动N行,默认是1个屏幕。如果N超出了屏幕大小,那么仅显示最后的屏幕。
  • b:向上滚动N行,默认是1个屏幕。如果N超出了屏幕大小,那么仅显示最后的屏幕。

注意:上述滚动屏幕的命令,可以设置翻屏的大小,叫做窗口大小,可通过-z选项设置,亦可通过z和w命令。

跳转相关

  • g/G:带N的时候,Ng和NG都表示跳转至文件的第N行。不同的是,在不带N的默认情况下g表示首行,G表示尾行。如果文件较大且行跳跃幅度较大,那么需要等待文件加载。
  • {:如果屏幕的首行是“{”,那么该命令可以用于寻找对应的“}”,并将其显示在屏幕的底部。如果屏幕首行有多个“{”,那么“N{”表示搜索首行第N个“{”对应的“}”。“(”和“[”也是类似的用法。
  • }:如果屏幕的底行是“}”,那么该命令可以用于寻找对应的“{”,并将其显示在屏幕的首部。如果屏幕底行有多个“}”,那么“N}”表示搜索首行第N个“}”对应的“{”。“)”和“]”也是类似的用法。

搜索相关

  • /pattern:从文件当前位置向下寻找pattern,pattern是一个正则表达式。会从当前屏幕所显示的第一行开始搜索(不过-a和-j选项会改变此特性)。当以某些字符开头的时候,会有特殊的含义。如果想表示特殊字符本身的话,可以使用反斜线“\”转义。

    • ^N or !:搜索不匹配pattern的行。
    • ^E or *:搜索多个文件。搜索完当前文件未找到pattern的话,继续搜索下一个文件。
    • K:正常情况,开始搜索后,会将第一个匹配到的pattern显示到第一行。而K可以保持当前的位置不变,不将其显示到第一行,但仍然会高亮显示匹配的文本。
    • ^R:搜索纯文本,而非正则表达式。
  • ?pattern:和/pattern类似,区别在于它是从文件当前位置向上寻找pattern。其他特性和/pattern一样。
  • n/N:n表示搜索下一个,N表示搜索上一个,这里的下一个指的是pattern搜索顺序的下一个。
  • &pattern:仅显示匹配的行。
  • ESC-u:搜索高亮显示的开关。

less命令的选项

less -?
less --help
less -V
less --version
less [-[+]aABcCdeEfFgGiIJKLmMnNqQrRsSuUVwWX~]
[-b space] [-h lines] [-j line] [-k keyfile]
[-{oO} logfile] [-p pattern] [-P prompt] [-t tag]
[-T tagsfile] [-x tab,...] [-y lines] [-[z] lines]
[-# shift] [+[+]cmd] [--] [filename]...
  • --help:简要的帮助界面,很实用。
  • -[z]n or --window=n:设置屏幕窗口的大小。
  • -s or --squeeze-blank-lines:将多个连续的空白行压缩成单个,less -s即man命令所使用的查看命令。
  • -a or --search-skip-screen:默认的搜索都是从文件的当前位置,即当前屏幕开始。该选项的作用使得,向下搜索从当前屏幕底部开始,向上搜索从当前屏幕的顶部开始,即跳过了当前屏幕。
  • -jn or --jump-target=n:指定目标行,例如从第几行开始搜索。例如,如果选项是“-j4”,那么第五行就是目标行,从这一行开始搜索或者进行其他操作。
  • -i or --ignore-case:忽略大小写。不过如果在pattern中有出现大写的话,那么该选项就会失效。也就是说该选项仅对全小写的pattern搜索有效。不过我通过/pattern形式搜索测试,如果全小写的话,就可以自动忽略大小写了。
  • -I or --IGNORE-CASE:可以理解为强制忽略大小写。

命令:less的更多相关文章

  1. Cmder--Windows下命令行利器

    cmder cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 安装包 安装包链接 下载后,直接解压即用. 修改命令提示符λ为 ...

  2. 【每日一linux命令4】常用参数:

     下面所列的是常见的参数(选项)义: --help,-h                              显示帮助信息 --version,-V                        ...

  3. .NET Core系列 : 1、.NET Core 环境搭建和命令行CLI入门

    2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高, ...

  4. MVVM模式解析和在WPF中的实现(三)命令绑定

    MVVM模式解析和在WPF中的实现(三) 命令绑定 系列目录: MVVM模式解析和在WPF中的实现(一)MVVM模式简介 MVVM模式解析和在WPF中的实现(二)数据绑定 MVVM模式解析和在WPF中 ...

  5. SQLServer执行命令出现“目录无效的提示”

    异常处理汇总-数据库系列  http://www.cnblogs.com/dunitian/p/4522990.html 一般都是清理垃圾清理过头了,把不该删的目录删了 网上说法: 问题描述: 1.s ...

  6. SQLServer文件收缩-图形化+命令

    汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 收缩前 图形化演示: 不仅仅可以收缩日记文件,数据库文件也是可以收缩的,只不过日记收缩比 ...

  7. 让 windows 下的命令行程序 cmd.exe 用起来更顺手

    在 Windows 下使用 Larave 框架做开发,从 Composer 到 artisan 总是避免不了和 cmd.exe 打交道,系统默认的命令行界面却是不怎么好看,且每行显示的字符数是做了限制 ...

  8. [版本控制之道] Git 常用的命令总结(欢迎收藏备用)

    坚持每天学习,坚持每天复习,技术永远学不完,自己永远要前进 总结日常开发生产中常用的Git版本控制命令 ------------------------------main-------------- ...

  9. git 命令

    切换仓库地址: git remote set-url origin xxx.git切换分支:git checkout name撤销修改:git checkout -- file删除文件:git rm  ...

  10. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

随机推荐

  1. maven本地库更新失败

    当我们在项目中遇到有些依赖在第三方仓库特别是maven仓库里面没有的时候我们会怎么办? 答案1.通过私服,上传到公司的一个私服上然后进行下载 答案2.通过本地安装,这样非常方面进行使用,今天我们就采用 ...

  2. JQuery的选择器对控件ID含有特殊字符的解决方法-涨姿势了!

    1.jquery类库在我们实际项目中用的很多,大家经常需要根据控件的id,获取对应的html元素. 但是:当id含有特殊字符的时候,是不能选中的. 2. 自己简单的测试了下,jquery的id选择器只 ...

  3. Anaconda+django写出第一个web app(五)

    今天开始学习网页风格和设计,就像python有Web框架一样,也有一些CSS框架.对于CSS框架,我们可以使用默认的样式,也可以在原基础上编辑修改.本教程使用的是materialize这个CSS框架[ ...

  4. MySQL练习-主外键多表查询

    练习: 1.建立表关系: 请创建如下表,并创建相关约束 USE db1; CREATE TABLE class( cid INT AUTO_INCREMENT PRIMARY KEY, caption ...

  5. Hibernate5笔记5--关联关系映射

    关联关系映射: 关联关系,是使用最多的一种关系,非常重要.在内存中反映为实体关系,映射到DB中为主外键关系.实体间的关联,即对外键的维护.关联关系的发生,即对外键数据的改变. 外键:外面的主键,即,使 ...

  6. Python使用OpenCV实现简单的人脸检测

    文章目录: OpenCV安装 安装numpy 安装opencv OpenCV使用 OpenCV测试 效果图: 注意: 图片人脸检测 程序要求: 技术实现思路 注意 本文使用的环境是:Windows+P ...

  7. 深拷贝数组 np.copy

    数组对象自带了浅拷贝和深拷贝的方法,但是一般用深拷贝多一些: 代码如下: >>> a = np.ones((2,2)) >>> b = a >>> ...

  8. 2018 CCPC网络赛

    2018 CCPC网络赛 Buy and Resell 题目描述:有一种物品,在\(n\)个地点的价格为\(a_i\),现在一次经过这\(n\)个地点,在每个地点可以买一个这样的物品,也可以卖出一个物 ...

  9. Oracle 函数 “判断数据表中不存在的数据,才允许通过”

    create or replace function mca_detail_material_val(p_material_code VARCHAR2, --实参 p_material_name VA ...

  10. [java笔记]常用的设计模式

    1.单例设计模式 单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 1)构造方法私有化 2)声明一个本类对象 3)给外部提供一个静态方法获取对象实例 例如: class Singl ...