少就是多的 less
.. note::
买下一张永久车票,登上一列永无终点的火车。
加西亚马尔克斯 《百年孤独》
在Linux
系统如果希望查阅文件,有三个命令,是在命令行里面,如果GUI界面,请自行绕过,选择太多了。
cat
入门级的more
文件内容一屏幕装不下的时候使用的less
可以简单地认为是more
的升级版 , 首推
我首推less
命令的原因是该命令可以往回卷动浏览已经看过的部分,但是more
是不可以的。或者可以认为less
是查看模式下的vim
。
首先看看为什么用less
命令吧。
If the file is longer than the size of Terminal window then it will be not easy to read or view all the content of the file easily. But there is a tweak, you can use less with cat command. It will give user an ability to scroll forward and backward through the content of the files using PgUp and PgDn keys or Up and Down Arrow keys on the keyboard.
如题,在文件内容足够多的时候,屏幕足够不大的时候,就会出现上面描述的问题,这就出现了less
命令。
Linux
系统可以说把少就是多
这个哲学用到了极致,恰如小巧优美的C语言,不该有的功能坚决不给你提供,应该有的也不给你提供,哈哈,比如内存的管理,程序员就是神,你就是神。
命令简介
less - opposite of more # 我觉得这是废话
我嘞个去,什么鬼?这是什么意思,我也知道少的反义词是多,大的反义词是小。
别急,那就看看more的含义吧,不会是 opposite of less
吧。OMG
more - file perusal filter for crt viewing
什么意思,淡定,听我说,在Linux
系统中有三种命令可以用来查阅全部的文件,分别是cat
、more
和less
命令,关于more
的解释主要针对在上古年代的计算机,你不理解crt
也没有关系,毕竟现在已经是Retina
的年代了。
一起看看下面的实例吧。
命令格式
1 | $ less [参数] 文件 |
与其他命令类似,直接跟上文件名即可。
接下来依旧使用/etc/services来进行示例。
-m 显示类似more命令的百分比
这个是more命令比较好用的一个功能,可以显示目前浏览的百分比。
1 | $ less -m /etc/services |
此时可以在左下角看到,有个百分比。
-N 显示行号
使用-N可以实现cat中-n的效果,显示行号
1 | $ less -N /etc/services |
搜索字符串
在less中,可以比较容易的搜索字符串,比如可以:
- / 字符串:向下搜索“字符串”的功能
- ? 字符串:向上搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- N:反向重复前一个搜索(与 / 或 ? 有关)
其实这些功能或者热键与vim相同。
在用less
打开文件后,可以直接输入/number
来搜索nubmer这个字符串,回车后可以看到该字符串高亮显示,这个也是优于more
的一点;同样?number
可以反向搜索number字符串。
可以通过
-i
选项来忽略搜索时的大小写
设置缓冲区的大小
可以通过-b <缓冲区大小>
设置缓冲区的大小,这个一般用于文件很大、巨大、不是一般大的时候,此时你的内容可能不足以承载打开整个文件,比如4G的内存,而你却要打开10G的文件,此时可以通过该选项来设置,默认单位为KB
,比如
1 | $ less -b 1024 filename |
即打开1024KB的文件缓冲
编辑less
浏览的文件
要编辑一个正在用 less
浏览的文件,可以按下v
。你就可以用变量$EDITOR
所指定的编辑器来编辑了: 按下v键来编辑文件,退出编辑器后,你可以继续用less
浏览了。
移动
我比较喜欢less
的原因是对于该命令的很多操作都是与vim
相同,而我是一个重度vimer
,so 推荐less
。
说几个比较简单的移动:
j
向下移动k
向上移动g
移动到第一行G
移动到最后一行b
向后翻一页d
向后翻半页u
向前滚动半页y
向前滚动一行空格键
滚动一行回车键
滚动一页