一、问题背景
有时候,我们在tty终端执行一条命令,会产生很多输出文本,这些文本占满了整个屏幕还不止。
于是乎,我们没办法查看到上面的输出。
在图形界面中的终端,可以用shift + Pageup或shift + Pagedown来翻页。
在ssh客户端中,例如xshell,翻页问题其实不存在,鼠标很轻松地上下滑。
二、解决办法
2.1 more命令
我们需要对那条输出很长文本的命令添加一个后缀——more。
例如cat 123.txt | more -5
就是在显示123.txt文件的时候以5行为一节,按ENTER键一次就换一下一节。
按着ENTER键不动就不断换节。
而空格键是换页,按一次就换一页。
如果执行cat 123.txt | more
命令就是默认的选项,以1行为一个屏幕。
当然你也可以直接用more 123.txt
,这个是特殊情况——你是在查看文本文件时发现输出文本过多,就可以用more命令代替cat命令。
但是有些情况(例如在较顶层目录执行du命令),不是查看文本文件内容,就需要把more命令放在通道符号之后了。
如果你要退出more命令环境,可以用快捷键Ctrl+C。
2.2 less命令
more命令有一个致命的缺陷——无法往上翻,只能往下翻,也就是说你翻过了就看不到之前的内容了。
所以让less命令闪亮登场!!!
less命令的参数和选项跟more差不多,就是交互方式差别很大。
j 向下移动
k 向上移动
g 移动到第一行
G 移动到最后一行
b 向后翻一页
d 向后翻半页
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
如果你要退出less命令环境,需要按q(不用回车)。
心细的话,可以发现less命令的交互方式,跟vim文本编辑器太像了。
2.3 更改输出源-输出重定向->或>>
>
和>>
的区别在于前者是覆盖文件,后者是在文件内容最后追加。
两者都会在发现目录中不存在指定文件时而创建文件。
例如我们用du命令输出很长的内容,我们可以在后面加>符号。
du > temp.txt
这样就把输出结果发送到temp文本文件了。
再通过vi文本编辑器查看就可以了。