5.5 分屏查看文本文件

less file1

虽然cat命令有用,但是如果要阅读一个很长的文件,它就一点用都没有了,因为文本就像漫无止境、无法阅读的溪流一样流淌过去了。如果你有兴趣在命令行中查看长文件(所谓“长”,至少要超过一两个页面),就不应该使用cat命令,而是使用less命令。

less命令是分页器的一个例子,分页器是一个可以分页显示文本文件内容的程序。其他的命令还有morepgmost。事实上,作为改进的moreless命令发布于1985年,这再一次证实了名言“少即是多(less is more)”!

less命令打开一个文件(甚至是像Milton的“Paradise Lost”这样的大文件)是再容易不过的事情了:

  1. $ less Paradise_Lost.txt

less命令运行时会占据整个屏幕,所以必须使用键盘在less命令界面中导航,只有退出less命令才能回到命令行。表5-1列出了在less命令界面中导航时用到的一些键盘操作命令。 表5-1  less的键盘操作命令

键盘命令 操 作
PageDn、e或空格键 前进一页
PageUp或b 后退一页
Return、e、j或下箭头键 前进一行
y、k或上箭头键 后退一行
G或p 前进到文件的结尾
1G 回到文件的开始
Esc-)或右箭头键 向右滚动
Esc-(或左箭头键 向左滚动
Q 退出less

可以看到,大多数操作命令都有多个选择。或许向下翻页和退出程序是最常使用的两个键盘命令。

要在less命令界面中查看文件信息,可以按“=”(等号)键,就会在屏幕的底部显示如下类似的信息:

  1. Paradise_Lost.txt lines 7521-7560/10762 byte 166743
  2. ➥/237306 70% (press RETURN)

可以看到,这一信息提示按Enter键来去掉显示的数据,并返回继续使用less

用与让cat命令插入文件的行号一样的方法,也可以命令less显示行号。当然只有在使用less命令时,这些数字才会出现。在按q键退出less后,这些数字就消失了。要查看文件,并且在每行前面显示行号,需要使用less命令的-N(或--LINE-NUMBERS)选项。注意,选项必须全大写:

  1. $ less -N Paradise_Lost.txt