Unix提供了两个工具查看不止文件的头部和尾部。这个功能程序叫做more,但有种更强大的变异体叫做less(起初我认为这是玩笑)。less这个程序是交互性地,所以很难在输出时捕获,但是仍然为大家提供了粗略地样本如下:

$ less sonnets.txt
Shake-speare's Sonnets I From fairest creatures we desire increase,
That thereby beauty's Rose might never die,
But as the riper should by time decease,
His tender heir might bear his memory:
But thou contracted to thine own bright eyes,
Feed'st thy light's flame with self-substantial fuel,
Making a famine where abundance lies,
Thy self thy foe, to thy sweet self too cruel:
Thou that art now the world's fresh ornament,
And only herald to the gaudy spring,
Within thine own bud buriest thy content,
And tender churl mak'st waste in niggarding:
Pity the world, or else this glutton be,
To eat the world's due, by the grave and thee. II When forty winters shall besiege thy brow,
And dig deep trenches in thy beauty's field,
sonnets.txt

less程序地关键点在于它提供了几种有用的方法让你到文件的指定位置,例如使用箭头向上或向下移动整行内容,按空格键移到页面底部,按^F向前移一页(例如,)或者 ^B向后移一页。退出less, 输入q(‘quit’简写)。

插图18: 莎士比亚时期著名的玫瑰

或许,less最强大的能力是斜杠键/了,它能让你从文件开始一直搜索到结尾。例如,假设我们要在sonnets.txt文件中搜索'玫瑰'(插图18),十四行诗里最常用的意象之一。用less来做就是输入 /rose(读作“斜杠玫瑰”), 如Listing 15:

Listing 15:使用less搜索字符串'rose'

Shake-speare's Sonnets

I

From fairest creatures we desire increase,

That thereby beauty's Rose might never die,

But as the riper should by time decease,

His tender heir might bear his memory:

But thou contracted to thine own bright eyes,

Feed'st thy light's flame with self-substantial fuel,

Making a famine where abundance lies,

Thy self thy foe, to thy sweet self too cruel:

Thou that art now the world's fresh ornament,

And only herald to the gaudy spring,

Within thine own bud buriest thy content,

And tender churl mak'st waste in niggarding:

Pity the world, or else this glutton be,

To eat the world's due, by the grave and thee.

II

When forty winters shall besiege thy brow,

And dig deep trenches in thy beauty's field,

/rose

Listing 15中输入/rose后结果就是在该文件中高亮显示第一次出现'rose'。你可以接着输入n指引程序搜索下一个匹配,或者N搜索上一个匹配。

最后两个必会的less命令是G,和1G(1后面接G),分别地作用是移到文件末尾,和返回到开始。Table 4总结了我认为最重要的键组合(即:我认为你需要它才能变得厉害),但是如果你对其他命令也很感兴趣,请查看wiki对less的介绍

我很鼓励你习惯使用less工具查看文件。解锁的新技能同样适用于其他应用;例如:手册页(1.3章)用的less来做操作交互界面,所以通过学习less你也可以更好的在手册页中自由移动。

命令 描述 示例
up & down arrow keys 向上或向下移动一行
空格键 移至上一页
⌃F 移至上一页
⌃B 移至下一页
G 移至文件末尾
1G 回到文件开始
/<string> 在文件中搜索字符串 /rose
n 移到下个匹配的搜素结果
N 移到上个匹配的搜索结果
q 退出less

Table 4: `less` 最重要的命令

练习

1.对sonnets.txt文件运行less。向后移动3页再向前移动3页。移到文件末尾,在回到开始,最后退出。

2.搜索字符串All(区分大小写)。查找前面几个匹配项,再查找后面几个匹配项。接着移至文件的开始,数匹配项,一直数到结尾。最后比较你数的结果和运行grep All sonnets.txt | wc的结果是否相同。(我们将在3.4章节中学习grep

3.使用less/(斜杠),找到诗中'Let me not'开始的行。这首诗中有匹配的吗?备注:按n寻找下个匹配项(如果有的话)。附加题:听听这首诗的现代版原始版,哪个版本的韵律更好?

4. 因为man使用了less,我们现在可以搜索手册页了。在ls的手册页中搜索'sort'字符串,发掘通过文件大小排序的选项操作。什么命令可以让文件以长表的形式列出,并且越大的文件显示在底部?备注: ls -rtl作为模型。

3.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——less即more的更多相关文章

  1. 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录

    在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...

  2. 2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件

    已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务.还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn ...

  3. 1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端

    终端是个允许我们运行命令行的程序,运行命令前,先打开它.在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(comma ...

  4. 1.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——手册页

    我们运行的命令行程序,通常在技术上称作shell, 它包含了一个非常强大(也很神秘)的工具,我们将用它来学习更多可用的命令.这个工具本身就是个称作'man'的命令('manual'的简写).它的参数是 ...

  5. 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件

    首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...

  6. 2.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重命名,复制,删除

    最常用的文件操作除了将文件列出来外,就应该是重命名,复制,删除了.正如将文件列出来一样,大多数现代操作系统为这些任务提供了用户图形界面,但是在许多场景中,用命令行还是会更方便. 使用mv命令重命名一个 ...

  7. 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令

    现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...

  8. 1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令

    在编辑模式中,命令行包括几个重复之前命令的功能.这些以及其他很多命令功能时常设计键盘上的特殊键,所以给出Table 1作为参考,给出了许多键在典型的Macintosh键盘上的标记符号.若你的键盘不太一 ...

  9. 4.5《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—第四章小结

    本章相关重要命令总结在Table 6. 命令 描述 示例 mkdir <name> 创建某目录 $ mkdir foo pwd 显示当前所在目录 $ pwd cd <dir> ...

  10. 4.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—目录结构

    Unix风格的目录结构通常使用一个目录名列表并用正斜杠分隔来表示,这样我们可以结合ls命令: $ ls /Users/mhartl/ruby 或者 $ ls /usr/local/bin 正如图20, ...

随机推荐

  1. 学习css(TODO)

    1. css 是一个什么样的角色? 答:css 负责控制网页的样式. 扩展:div + css 是经典的网页布局.实现网页内容与表现相分离. 2. css 的使用方式? 答:1. 内联式:直接在 HT ...

  2. ArcGIS Server生成文件的权限问题处理

          [arcgisserver@gisserver3 usr]$ vi /arcgis/server/usr/init_user_param.sh          

  3. Linux Linux内核参数调优

    Linux内核参数调优 by:授客 QQ:1033553122 关于调优的建议: 1.出错时,可以查看操作系统日志,可能会找到一些有用的信息 2.尽量不要“批量”修改内核参数,笔者就曾这么干过,结果“ ...

  4. Linux 操作系统主机名变成bogon怎么解决?

    主机名变成bogon怎么解决? by:授客 QQ:1033553122   一:使用hostname命令 [laiyu@localhost ~]$ hostname localhost.localdo ...

  5. loadrunner 运行脚本-命令行运行脚本

    Loadrunner 运行脚本-命令行运行脚本   by:授客 QQ:1033553122 脚本所在目录 Run-time Settings->Additional Attributes设置   ...

  6. Android BitmapUtils工具类

    Bitmap工具类 public final class BitmapUtils { public static final String TAG = "BitmapUtil"; ...

  7. [20180316]共享服务模式和直接路径读.txt

    [20180316]共享服务模式和直接路径读.txt --//在共享服务器模式下,执行计划不会选择直接路径读,通过例子证明. 1.环境:SYS@book> @ &r/ver1PORT_S ...

  8. python第六十天-----RabbitMQ

    RabbitMQ消息队列:默认为消息轮循模式,按client端启动是顺序接收 server端 import pika connection = pika.BlockingConnection(pika ...

  9. 第四章 Hyper-V 2012 R2 网络配置

      尼玛的我不高兴写了,所以下面的文档我直接把原来的pdf给转换出来,加了点自己的注解,我写的话会写自己觉得终于的章节. 在搭建虚拟化平台时,网络的虚拟化是一个非常重要的环节,如何保障网络的持续可用并 ...

  10. 用Python做股市数据分析(一)

    本文由 伯乐在线 - 小米云豆粥 翻译.未经许可,禁止转载!英文出处:Curtis Miller.欢迎加入翻译组. 这篇博文是用Python分析股市数据系列两部中的第一部,内容基于我犹他大学 数学39 ...