more命令&less命令

more

more 命令是最原始的分页工具,适合快速浏览大文件。它的核心逻辑是:加载一屏,暂停等待操作,继续加载下一屏。

基本用法

1
more [选项] 文件名

常用选项

选项 说明
-数字 指定每屏显示的行数,如 more -10 file
-d 显示友好的操作提示(按空格继续,按 q 退出)
-s 将多个连续空行压缩为一行显示
+数字 从指定行开始显示
+/字符串 从匹配搜索字符串的位置开始显示

交互式操作命令

进入 more 浏览界面后,可以使用这些快捷键:

按键 功能
空格键 向下翻一屏
回车键 向下翻一行
b 向上翻一屏(注意:只对文件有效,对管道无效)
/字符串 向下搜索指定字符串
n 重复上一次搜索
= 显示当前行号
v 调用 vi 编辑器编辑当前文件)
q 退出 more

示例:查看大型日志文件

1
2
3
4
5
6
7
8
## 分页查看系统日志,每屏显示10行
more -10 /var/log/syslog

# 从第100行开始查看
more +100 /var/log/syslog

# 配合管道查看命令输出
ls -la / | more

more 的致命短板:只能向前翻页,无法自由回看。于是,less 应运而生。

less

less 设计之初的宗旨就是 “more 的反义词” ——它不会在启动时读取整个文件,而是按需加载,因此打开超大文件时速度极快。更重要的是,less 提供了完全自由的上下浏览和搜索体验。

基本用法

1
less [选项] 文件名

常用选项

选项 说明
-N 显示行号
-i 搜索时忽略大小写
-S 不换行,长行可通过左右键横向滚动查看
-m 显示类似 more 的百分比进度提示

交互式操作命令

less 的命令集更加丰富,很多沿用了 vi 编辑器的按键习惯:

按键 功能
空格/f/PageDown 向下翻一屏
b/PageUp 向上翻一屏
回车 / / j 向下滚动一行
y / / k 向上滚动一行
g 跳到文件开头)
G 跳到文件末尾)
/字符串 向下搜索指定字符串(高亮显示匹配项))
?字符串 向上搜索指定字符串)
n 跳到下一个搜索匹配项
N 跳到上一个搜索匹配项
p/ % 跳到文件指定百分比位置(如 50p 跳到 50% 处)
= 显示当前文件名、行号和百分比)
F 进入“实时追更”模式(类似 tail -f ),适合监控日志;按 Ctrl+C 退出)
q 退出 less

less 的进阶玩法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看文件并显示行号
less -N /etc/nginx/nginx.conf

# 查看时忽略大小写搜索
less -i /var/log/messages

# 进入后输入 /error 即可不区分大小写查找 error
# 监控实时日志(tail -f 的替代方案)
less +F /var/log/syslog

# 按 Ctrl+C 停止追更,回到普通浏览模式
# 横向浏览超长行(不换行)
less -S longlines.log
# 进入后可用 ← 和 → 左右滚动查看

more vs less

对比维度 more less
向后翻页 ✅ 支持 ✅ 支持
向前翻页 ⚠️ 有限支持(按 b ✅ 完全支持
上下逐行滚动 ❌ 不支持 ✅ 支持(↑↓ / j / k)
搜索高亮 ❌ 无高亮 ✅ 高亮显示匹配项
向上搜索 ❌ 不支持 ✅ 支持(?
跳转到文件尾 ❌ 不支持 ✅ 支持(G
实时追更日志 ❌ 不支持 ✅ 支持(F模式)
加载方式 预读全部内容 按需加载,启动更快
适合场景 快速粗略浏览 深度阅读、日志排查

more 与 less 的日常使用建议

  • 查看超大的日志文件(几百 MB 甚至 GB 级别):首选 less。启动迅速,按需加载内存,不会卡死系统)。
  • 排查线上故障:用 less +F 实时追踪日志,发现问题后按 Ctrl+C 锁定当前屏幕,再用 / 精准定位关键词。
  • 快速浏览命令帮助文档ps aux | less 比 more 更好用,因为可以上下翻页慢慢看。
  • 分析服务器日志时:推荐组合技——grep "ERROR" app.log | less -N,先过滤关键信息,再分页查看并显示行号,方便定位代码位置。