3.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——less即more
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的更多相关文章
- 4.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—链接到目录
在4.2章中我们已经会用cd进入到指定的目录中.这是导航最常见的用途之一,但是它还有几个值得关注的用途.第一个是使用cd ..(读作'see-dee 点点')返回当前目录级别的上一级: $ pwd / ...
- 2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——操作文件
已经学习了基本的命令,现在是时候学习操作文件了,这也是命令行的重要任务.还是基于本教程的事先规定,本教程是入门级的,不要求熟悉类似编辑文本的程序(这些文本编辑程序,将在下个系列教程中介绍, Learn ...
- 1.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——运行终端
终端是个允许我们运行命令行的程序,运行命令前,先打开它.在MacOS系统上,可以使用macOS应用 Spotlight来打开终端窗口,Spotlight也有其他两种方式触发,一种是键入⌘␣(comma ...
- 1.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——手册页
我们运行的命令行程序,通常在技术上称作shell, 它包含了一个非常强大(也很神秘)的工具,我们将用它来学习更多可用的命令.这个工具本身就是个称作'man'的命令('manual'的简写).它的参数是 ...
- 3.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——下载文件
首先,为了不手动创建一个长文件(这太麻烦了),我们将使用强大的curl(有时也写作"cURL")工具从网上下载一个文件,这个命令可以让命令行与URL交互.尽管这不是Unix核心命令 ...
- 2.3《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——重命名,复制,删除
最常用的文件操作除了将文件列出来外,就应该是重命名,复制,删除了.正如将文件列出来一样,大多数现代操作系统为这些任务提供了用户图形界面,但是在许多场景中,用命令行还是会更方便. 使用mv命令重命名一个 ...
- 1.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——开始第一条命令
现在开始准备运行我们的第一条命令了,在屏幕上打印'hello'.(字符打印的地方被称为'标准输出',通常指的是屏幕,很少指真的物理打印机设备).这条命令就是echo,这条命令的参数是想要输出的字符串或 ...
- 1.4《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——编辑命令
在编辑模式中,命令行包括几个重复之前命令的功能.这些以及其他很多命令功能时常设计键盘上的特殊键,所以给出Table 1作为参考,给出了许多键在典型的Macintosh键盘上的标记符号.若你的键盘不太一 ...
- 4.5《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—第四章小结
本章相关重要命令总结在Table 6. 命令 描述 示例 mkdir <name> 创建某目录 $ mkdir foo pwd 显示当前所在目录 $ pwd cd <dir> ...
- 4.1《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)—目录结构
Unix风格的目录结构通常使用一个目录名列表并用正斜杠分隔来表示,这样我们可以结合ls命令: $ ls /Users/mhartl/ruby 或者 $ ls /usr/local/bin 正如图20, ...
随机推荐
- 【读书笔记】iOS-单元测试工具
一,单元测试工具. 1,OCUnit 苹果自带的. 2,GHUnit GHUnit是Objective-C语言里的另外一种单元测试工具. GHUnit- https://github.com/gh-u ...
- JSONArray.toJSONString json乱码
前提:配置文件已经配置了: <mvc:annotation-driven> <!-- 处理请求返回json字符串的中文乱码问题 --> <mvc:message-conv ...
- 方差variance, 协方差covariance, 协方差矩阵covariance matrix
https://www.jianshu.com/p/e1c8270477bc?utm_campaign=maleskine&utm_content=note&utm_medium=se ...
- Javascript异步编程之二回调函数
上一节讲异步原理的时候基本上把回掉函数也捎带讲了一些,这节主要举几个例子来具体化一下.在开始之前,首先要明白一件事,在javascript里函数可以作为参数进行传递,这里涉及到高阶函数的概念,大家可以 ...
- SQLServer Management Studio登录框中的“服务器名”填写
SQL Server Management Studio登录框中的“服务器名”填写 by:授客 QQ:1033553122 打开MSSQL Management Studio,如图,登录框中怎么填写? ...
- 【Java入门提高篇】Day23 Java容器类详解(六)HashMap源码分析(中)
上一篇中对HashMap中的基本内容做了详细的介绍,解析了其中的get和put方法,想必大家对于HashMap也有了更好的认识,本篇将从了算法的角度,来分析HashMap中的那些函数. HashCod ...
- 13.2、进程的通信:Queue、Pipe、
内容相关: 概念:进程的通信 Queue:创建与使用 Pipe:创建与使用 进程通信的概念 进程的资源空间是相互独立的,一般而言是不能相互访问的.但很多情况下进程间需要互相通信,来完成系统的某项功能. ...
- multipart/form-data文件上传
form表单的enctype属性:规定了form表单数据在发送到服务器时候的编码方式 application/x-www-form-urlencoded:默认编码方式 multipart/form-d ...
- LeetCode题解之 Find Mode in Binary Search Tree
1.题目描述 2.问题分析 使用map记录元素出现的次数. 3.代码 vector<int> v; map<int,int> m; vector<int> find ...
- Linux删除文件实现回收站功能
转载于 https://blog.csdn.net/u014057054/article/details/52126494 从事过服务器维护的人都知道rm.rm -rf 的厉害,执行起来一点也不马虎, ...