平时查看大日志文件时用cat直接输出会刷屏找关键信息很麻烦。more命令就是专门解决这个问题的——它让文本查看变得可控一页一页地翻不会错过重要内容。摘要more是 Linux 中最基础的分页器命令用于逐屏查看长文本文件。本文从基本用法出发梳理了常用操作快捷键、5 个实战技巧指定行查看、管道配合、搜索定位、限制行数、清屏显示对比了more与less的适用场景并浅析了其分页实现原理。最后总结了常见坑点与现代替代工具帮助读者高效掌握这个轻量级文本查看利器。more 命令的本质more是一个分页器pager核心功能是把长文本按屏幕高度分页显示。和less相比它更轻量几乎所有 Linux 发行版都预装。基本用法很简单more/var/log/syslog按空格翻页按q退出。就这么简单。常用操作速查进入more后这些按键最常用按键功能Space或f向下翻一页Enter向下翻一行b向上翻一页部分版本支持/pattern向下搜索n重复上次搜索显示当前行号:f显示当前文件名和行号q退出实战技巧1. 从指定行开始查看more100 /var/log/nginx/access.log直接从第 100 行开始跳过前面的内容。2. 配合管道使用catlarge-file.txt|more# 或者更简洁的large-file.txt|more其实more设计之初就是为了配合管道psaux|moredmesg|morejournalctl-unginx|more3. 搜索高亮定位more/error /var/log/app.log从第一个包含 “error” 的行开始显示快速定位问题。进入后按/timeout继续搜索下一个匹配项按n重复搜索。4. 限制每屏行数more-10/etc/passwd每屏只显示 10 行适合小窗口或需要精细查看的场景。5. 清除屏幕后显示more-cfile.txt-c选项会在显示前清屏避免之前的内容干扰阅读。more vs less该怎么选很多人纠结用more还是less。简单说用 more 的场景只需要向前翻页不需要回退追求极致轻量嵌入式环境简单的日志查看用 less 的场景需要前后自由滚动需要更强大的搜索功能查看压缩文件less支持zless代码对比# more - 只能向下不能回退more/var/log/syslog# 按空格向下按 q 退出# less - 可以上下滚动less/var/log/syslog# 支持 ↑↓ 方向键PageUp/PageDown/ 搜索? 反向搜索实现原理浅析more的核心逻辑不复杂获取终端尺寸通过ioctl获取屏幕高度行数计算分页文件总行数 ÷ 屏幕高度 页数缓冲输出每次只读取并显示一屏内容等待用户输入根据按键决定显示下一页或退出伪代码示意voiddisplay_file(constchar*filename){intlines_per_pageget_terminal_height();FILE*fpfopen(filename,r);charline[1024];intline_count0;while(fgets(line,sizeof(line),fp)){printf(%s,line);line_count;if(line_countlines_per_page){// 显示 --More--(xx%) 提示printf(--More--(%d%%),(ftell(fp)*100)/file_size);// 等待用户按键charcmdgetchar();if(cmdq)break;if(cmd )line_count0;// 下一页if(cmd\n)line_count--;// 下一行}}fclose(fp);}常见坑点1. 二进制文件乱码more/bin/ls# 会显示乱码甚至破坏终端解决用-d选项或直接用file命令判断文件类型。2. 管道中的交互问题# 错误管道中的 more 无法交互catfile.txt|sshuserhostmore# 正确使用 -d 选项或改用 catcatfile.txt|sshuserhostmore -d3. 大文件性能more没有缓存机制每次翻页都要重新读取文件。对于 GB 级日志建议先用head/tail截取tail-n10000huge.log|more现代替代方案虽然more经典但现代工具提供了更好的体验# bat - 语法高亮 分页bat app.js# most - 支持多窗口mostconfig.yaml# nvim - 用编辑器查看nvim-R/var/log/syslog不过more的优势在于无处不在——任何 Unix-like 系统都有它不需要安装。总结more命令虽然简单但掌握这些技巧能让日常运维效率提升不少more /pattern file快速定位more N file从指定行开始配合管道过滤后分页查看了解morevsless的适用场景如果你需要一个在线 Linux 命令参考工具可以试试 JsonKit Linux 命令大全里面整理了常用命令的用法和示例。相关工具Linux less 分页器 | Linux cat 文件查看 | Linux head/tail 日志查看
Linux more 命令详解:从基础分页到高级文本查看技巧
平时查看大日志文件时用cat直接输出会刷屏找关键信息很麻烦。more命令就是专门解决这个问题的——它让文本查看变得可控一页一页地翻不会错过重要内容。摘要more是 Linux 中最基础的分页器命令用于逐屏查看长文本文件。本文从基本用法出发梳理了常用操作快捷键、5 个实战技巧指定行查看、管道配合、搜索定位、限制行数、清屏显示对比了more与less的适用场景并浅析了其分页实现原理。最后总结了常见坑点与现代替代工具帮助读者高效掌握这个轻量级文本查看利器。more 命令的本质more是一个分页器pager核心功能是把长文本按屏幕高度分页显示。和less相比它更轻量几乎所有 Linux 发行版都预装。基本用法很简单more/var/log/syslog按空格翻页按q退出。就这么简单。常用操作速查进入more后这些按键最常用按键功能Space或f向下翻一页Enter向下翻一行b向上翻一页部分版本支持/pattern向下搜索n重复上次搜索显示当前行号:f显示当前文件名和行号q退出实战技巧1. 从指定行开始查看more100 /var/log/nginx/access.log直接从第 100 行开始跳过前面的内容。2. 配合管道使用catlarge-file.txt|more# 或者更简洁的large-file.txt|more其实more设计之初就是为了配合管道psaux|moredmesg|morejournalctl-unginx|more3. 搜索高亮定位more/error /var/log/app.log从第一个包含 “error” 的行开始显示快速定位问题。进入后按/timeout继续搜索下一个匹配项按n重复搜索。4. 限制每屏行数more-10/etc/passwd每屏只显示 10 行适合小窗口或需要精细查看的场景。5. 清除屏幕后显示more-cfile.txt-c选项会在显示前清屏避免之前的内容干扰阅读。more vs less该怎么选很多人纠结用more还是less。简单说用 more 的场景只需要向前翻页不需要回退追求极致轻量嵌入式环境简单的日志查看用 less 的场景需要前后自由滚动需要更强大的搜索功能查看压缩文件less支持zless代码对比# more - 只能向下不能回退more/var/log/syslog# 按空格向下按 q 退出# less - 可以上下滚动less/var/log/syslog# 支持 ↑↓ 方向键PageUp/PageDown/ 搜索? 反向搜索实现原理浅析more的核心逻辑不复杂获取终端尺寸通过ioctl获取屏幕高度行数计算分页文件总行数 ÷ 屏幕高度 页数缓冲输出每次只读取并显示一屏内容等待用户输入根据按键决定显示下一页或退出伪代码示意voiddisplay_file(constchar*filename){intlines_per_pageget_terminal_height();FILE*fpfopen(filename,r);charline[1024];intline_count0;while(fgets(line,sizeof(line),fp)){printf(%s,line);line_count;if(line_countlines_per_page){// 显示 --More--(xx%) 提示printf(--More--(%d%%),(ftell(fp)*100)/file_size);// 等待用户按键charcmdgetchar();if(cmdq)break;if(cmd )line_count0;// 下一页if(cmd\n)line_count--;// 下一行}}fclose(fp);}常见坑点1. 二进制文件乱码more/bin/ls# 会显示乱码甚至破坏终端解决用-d选项或直接用file命令判断文件类型。2. 管道中的交互问题# 错误管道中的 more 无法交互catfile.txt|sshuserhostmore# 正确使用 -d 选项或改用 catcatfile.txt|sshuserhostmore -d3. 大文件性能more没有缓存机制每次翻页都要重新读取文件。对于 GB 级日志建议先用head/tail截取tail-n10000huge.log|more现代替代方案虽然more经典但现代工具提供了更好的体验# bat - 语法高亮 分页bat app.js# most - 支持多窗口mostconfig.yaml# nvim - 用编辑器查看nvim-R/var/log/syslog不过more的优势在于无处不在——任何 Unix-like 系统都有它不需要安装。总结more命令虽然简单但掌握这些技巧能让日常运维效率提升不少more /pattern file快速定位more N file从指定行开始配合管道过滤后分页查看了解morevsless的适用场景如果你需要一个在线 Linux 命令参考工具可以试试 JsonKit Linux 命令大全里面整理了常用命令的用法和示例。相关工具Linux less 分页器 | Linux cat 文件查看 | Linux head/tail 日志查看