5.5 分屏查看文本文件
less file1
虽然cat
命令有用,但是如果要阅读一个很长的文件,它就一点用都没有了,因为文本就像漫无止境、无法阅读的溪流一样流淌过去了。如果你有兴趣在命令行中查看长文件(所谓“长”,至少要超过一两个页面),就不应该使用cat
命令,而是使用less
命令。
less
命令是分页器的一个例子,分页器是一个可以分页显示文本文件内容的程序。其他的命令还有more
、pg
和most
。事实上,作为改进的more
,less
命令发布于1985年,这再一次证实了名言“少即是多(less is more)”!
用less
命令打开一个文件(甚至是像Milton的“Paradise Lost”这样的大文件)是再容易不过的事情了:
$ 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
命令界面中查看文件信息,可以按“=
”(等号)键,就会在屏幕的底部显示如下类似的信息:
Paradise_Lost.txt lines 7521-7560/10762 byte 166743
➥/237306 70% (press RETURN)
可以看到,这一信息提示按Enter键来去掉显示的数据,并返回继续使用less
。
用与让cat
命令插入文件的行号一样的方法,也可以命令less
显示行号。当然只有在使用less
命令时,这些数字才会出现。在按q键退出less
后,这些数字就消失了。要查看文件,并且在每行前面显示行号,需要使用less
命令的-N
(或--LINE-NUMBERS
)选项。注意,选项必须全大写:
$ less -N Paradise_Lost.txt