more - 多多益善
more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。more命令从前向后读取文件,因此在启动时就加载整个文件。
在查阅文件的时候,我们说过可以用cat命令,不过这个是入门级别的,但凡用了几天Linux的,基本不太会再使用cat,而是另外两个指令,more或者less。这次说一下more,more是在文件的内容一个屏幕装不小的时候使用的。而less是more的升级版本,稍后会介绍。
more
: 文件内容一屏幕装不下的时候使用的
看看为什么用less
命令吧。
more - file perusal filter for crt viewing
看不懂,什么是CRT,莫慌,关于more
的解释主要针对在上古年代的计算机,你不理解crt
也没有关系,毕竟现在已经是Retina
的年代了。
命令格式
less的命令格式与cat一样,可以直接跟上文件名,如下:
1 | less [参数] 文件 |
其中的参数如下所示:
- +n 从笫n行开始显示
- -n 定义屏幕大小为n行
- +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
- -c 从顶部清屏,然后显示
- -d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
- -l 忽略Ctrl+l(换页)字符
- -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
- -s 把连续的多个空行显示为一行
- -u 把文件内容中的下画线去掉
一起看看下面的实例吧,这里以文件/etc/services
为例:
这个文件的开始信息如下:
1 | # /etc/services: |
+n 从第n行开始显示
接下来的命令从第10行开始显示:
1 | $ more +10 /etc/service |
可以看到前面的10行是没有显示的。
-n 定义屏幕大小为n行
这里的含义为定义输出的内容为10行,你的屏幕可能足够大,不过显示的内容只有n行,如下:只显示10行的内容,此时终端可能还会残留以前的内容:
1 | $ more -10 /etc/services |
可以关注一下,此时每次显示的只有10行。
+/pattern 搜寻字符串(pattern)
这个参数用于在文件中搜索字符串pattern,然后在该字符串的前两行之前开始显示。比如搜索number,会显示以下内容:
1 | $ more +/number /etc/services |
可以留意,此时显示的内容,第三行即包含搜索的字符串。
其他
除以上介绍的以外,还有比较容易理解的以下参数:
- -c 从顶部清屏,然后显示
- -p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
- -s 把连续的多个空行显示为一行
- -u 把文件内容中的下画线去掉