经典翻页工具:more 与 less
在 Linux 世界中,more 和 less 是最古老、最经典的分页查看工具,它们允许用户逐屏查看文件内容,而不是像 cat 命令那样一次性将所有内容输出到屏幕,导致长文件的内容瞬间滚过,无法阅读。

more 命令:基础分页器
more 是一个相对简单的分页工具,非常适合初学者,它的核心功能是向前(向下)翻页。
基本用法:
more /var/log/yum.log
执行上述命令后,屏幕会显示文件的第一页内容,并在底部显示一个提示符,如 --More--(10%),表示已显示文件的 10%。
主要操作:
- 空格键:向下翻一页。
- Enter 键:向下滚动一行。
- q 键:退出
more,返回命令行提示符。 - b 键:在某些版本中,可以向上翻一页,但并非所有实现都支持。
more 的主要局限在于其向后(向上)导航的功能非常有限或不存在,这促使了更强大工具的诞生。
less 命令:功能强大的分页器
less 是 more 的超集,功能远比 more 强大,它的名字来源于一个双关语,“less is more”,意为它比 more 功能更强大,但操作同样简单。less 允许用户自由地向前和向后翻页、搜索文本,甚至在不退出查看器的情况下编辑文件。less 是目前推荐使用的首选分页工具。
基本用法:
less /var/log/messages
核心功能与快捷键:
less 提供了丰富的快捷键,下表列出了最常用的一些操作:
| 快捷键 | 功能描述 |
|---|---|
空格键 或 Page Down |
向下翻一页 |
b 或 Page Up |
向上翻一页 |
j 或 向下箭头 |
向下滚动一行 |
k 或 向上箭头 |
向上滚动一行 |
g |
跳转到文件开头 |
G |
跳转到文件结尾 |
/pattern |
向下搜索指定的字符串 "pattern" |
?pattern |
向上搜索指定的字符串 "pattern" |
n |
查找下一个匹配项 |
N |
查找上一个匹配项 |
q |
退出 less 查看器 |
h |
显示帮助屏幕 |
可以看到,less 提供了与 vim 编辑器极为相似的导航体验,这使得熟悉 vim 的用户可以无缝上手,其双向导航和强大的搜索功能,使其成为处理大文件(如数GB的日志文件)的理想选择。
快速预览工具:head 与 tail
有时,我们并不需要浏览整个文件,而只是想查看文件的开头或结尾部分,这时,head 和 tail 命令就非常有用。

head 命令:查看文件头部
head 默认会显示文件的前 10 行。
基本用法:
head /etc/passwd
指定行数:
可以使用 -n 参数来指定显示的行数,查看文件的前 20 行:
head -n 20 /etc/passwd
tail 命令:查看文件尾部
与 head 相对应,tail 默认显示文件的最后 10 行。
基本用法:
tail /var/log/secure
指定行数:
同样使用 -n 参数查看最后 50 行:
tail -n 50 /var/log/secure
实时监控文件:tail -f
tail 最强大的功能之一是 -f(follow)选项,它可以实时监控一个文件的变化,并将新增的内容输出到屏幕,这对于监控系统日志、调试应用程序至关重要。
示例:实时查看 Web 服务器的访问日志
tail -f /var/log/httpd/access_log
执行后,终端会锁定在日志文件的末尾,每当有新的访问请求,对应的日志行就会立即显示在屏幕上,要退出监控模式,请按 Ctrl + C。
终端自身的滚动功能
除了使用专门的命令,现代的终端模拟器(如 GNOME Terminal、Konsole、Xshell 等)自身也具备滚动缓冲区。

- 操作方法:通常可以使用
Shift + Page Up向上滚动,Shift + Page Down向下滚动。 - 优点:无需任何命令,即可查看之前在当前会话中输出但已滚出屏幕的内容。
- 局限性:滚动缓冲区的大小是有限的,通常只能回溯几百到几千行,对于非常大的文件,或者需要精确导航的场景,这种方法远不如
less方便。
文本编辑器中的翻页
在文本编辑器(如 vim 或 nano)中打开文件时,翻屏操作也是日常工作的一部分,以 vim 为例,其翻页快捷键与 less 高度相似:
Ctrl + f:向前(下)翻一页。Ctrl + b:向后(上)翻一页。Ctrl + d:向前(下)翻半页。Ctrl + u:向后(上)翻半页。gg:跳转到文件首行。G:跳转到文件末行。
在 CentOS 中进行上下翻屏,应根据具体场景选择最合适的工具:
- 交互式浏览大文件:首选
less,它功能全面,支持双向导航和搜索。 - 简单向前翻页:可以使用
more,但less通常是更好的选择。 - 查看文件头/尾:使用
head和tail,快速获取摘要信息。 - 实时监控日志:
tail -f是不二之选。 - 查看近期命令输出:使用终端的
Shift + Page Up功能。
熟练掌握这些工具和技巧,将使您在 CentOS 命令行环境下的工作如虎添翼,更加从容高效。
相关问答 FAQs
问题 1:more 和 less 的主要区别是什么,我应该用哪个?
解答:more 是一个基础的分页器,主要支持向下翻页(空格键)和逐行滚动(回车键),向上翻页的功能非常受限或没有,而 less 是一个功能强大的增强版分页器,它支持双向翻页(PageUp/PageDown)、行级移动(j/k)、跳转到文件首尾(g/G)以及强大的文本搜索功能( 和 )。强烈推荐始终使用 less,它几乎在所有方面都优于 more,是现代 Linux/Unix 系统中查看文件内容的标准和最佳实践。
问题 2:如何查看一个正在不断更新的日志文件(如系统日志)的实时内容?
解答:要实时监控一个正在被写入的日志文件,应该使用 tail 命令并加上 -f(follow)参数,要实时查看系统日志 /var/log/messages,可以执行命令 tail -f /var/log/messages,这个命令会显示文件的最后几行,挂起”在那里,每当文件有新内容追加时,新内容会立即显示在您的终端屏幕上,要停止实时监控并返回到命令行,请按下 Ctrl + C 组合键。