恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

Linux文件查看与终端快捷键:cat、more的高效使用指南

  • 首页
  • 资讯中心
  • /
  • Linux文件查看与终端快捷键:cat、more的高效使用指南

相关资讯

倚天剑术17内置VNC客户端:高效远程协作解决方案 2026/9/15 3:14:55
企业级RAG工程落地全链路:从文档解析到合规交付 2026/9/15 3:14:55
实时性不是跑得快,而是准时到:嵌入式硬实时系统设计核心 2026/9/15 3:09:55

最新资讯

SpringBoot+Vue在线答疑系统部署与联调指南
LiteLLM流式内容安全网关实战:毫秒级token拦截与体验平衡
Web安全测试入门:开发者必备的四大核心领域与工具链
DNS与ARP协议深度解析:从原理、配置到故障排查与安全防御
多智能体系统隐性成本与落地避坑指南
2026短剧AI视频工具实操指南:口型同步与资产化输出

今日推荐

GDPR下大数据架构重构与隐私保护实践
多组学数据平台架构设计与优化实践
企业主数据管理系统架构设计与实施全解析

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

Linux文件查看与终端快捷键:cat、more的高效使用指南

发布时间:2026/9/15 3:14:55
Linux文件查看与终端快捷键:cat、more的高效使用指南 很多朋友学到Linux文件操作这一章时最容易卡在两个地方一个是不知道cat、more这类命令在什么场景下用最合适另一个是觉得命令敲起来太慢效率提不上去。其实这两个问题正好对应了今天要聊的核心内容——cat、more以及Linux终端里那套能帮你省下大量时间的快捷键体系。这一章的内容在整套Linux入门体系里算是一个分水岭。前面几章你学会了目录切换、文件创建、权限认识从这一章开始你要面对的是真正意义上的内容查看与处理。cat能让你快速瞄一眼文件内容more让你面对大文件时不至于被刷屏刷到怀疑人生而快捷键则是从会用命令走向用得顺手的关键一步。无论你是刚装好Linux发行版的学生还是工作中需要频繁登录服务器排查日志的运维新人这一章的内容都会直接影响到你后续的操作效率。1. 先搞清楚这三个工具在Linux里到底解决什么问题1.1 cat和more的定位差异很多人刚接触Linux时觉得cat和more都一样不都是看文件吗区别真的很大。cat是concatenate的缩写本意是连接、拼接它最初的设计目的是把多个文件的内容依次输出到屏幕上或者合并成一个新文件。只是后来大家发现不加参数直接cat一个文件名就能把文件内容完整显示在终端里。因为这种用法太直观cat就成了查看文件内容的代名词。但它的特点是一次性全部输出文件小的时候没问题文件一大终端会像瀑布一样狂刷你根本来不及看最后只看到末尾几行。more的设计思路完全不同。它叫分页显示工具核心逻辑是一次只显示一屏看完一屏再翻下一页。这就像你看电子书时的翻页效果而不是打印一匹几十米长的卷轴纸让你从头看到尾。more是早期Unix时代就有的老牌命令使用门槛极低打开文件后按空格键翻页按q键退出几乎不需要记忆负担。所以这两个命令从来不是替代关系而是互补关系。文件内容少于几十行用cat直接瞄一眼最高效文件内容几百几千行比如配置文件、日志文件就必须交给more来分页浏览。1.2 快捷键为什么值得专门花一章来学回到这一章的第三个主角快捷键。你可能会觉得快捷键这种东西还需要单独列一章不就是CtrlC中断、光标上下键翻历史命令吗说实话如果只是这个程度确实不值得单开一章。我这里说的快捷键是Linux终端里一整套基于Bash Shell的操作体系。用好它们你在终端里的操作速度能提升一个档次。举个例子你要执行一个很长的命令比如systemctl restart nginx每次敲一遍和用Tab键自动补全上下键翻历史记录两种操作方式节省的时间差在长期使用中是非常可观的。更别说CtrlR反搜索历史命令这种用过就回不去的功能。更关键的是快捷键不是孤立的知识点它们和命令是互为搭配的。你用more查看日志时需要按什么键翻页、什么键搜索、什么键退出你用cat创建文件时需要用CtrlD来结束输入。这些快捷键和命令本身是绑定在同一个使用场景里的单独背快捷键列表没有意义放到具体操作流程里才有价值。所以这一章我打算换个讲法不把cat、more、快捷键拆成三个孤立的知识模块而是按照它们在实际工作流中的使用顺序串起来先用cat快速确认文件情况再用more深入查看大文件最后用快捷键让整个终端操作变得顺滑。2. cat命令不只是看一眼文件2.1 基础用法一次把文件内容全部吐出来cat命令最基础的用法就是后面跟一个或多个文件名把文件内容原样输出到终端。比如cat /etc/hostname这条命令会显示你的主机名执行完就结束了。你可能会奇怪查看单个文件内容明明有更专用的命令比如less、vi为什么还要学cat因为cat的快是其他工具比不了的。它不需要进入任何交互模式执行完立即返回命令行提示符这种无状态的操作方式特别适合在脚本里使用或者在你自己确认一个小文件的当前内容时用。多个文件一起查看的用法也很实用cat /etc/passwd /etc/group这条命令会把两个文件的内容依次拼接输出中间没有任何分隔提示。你可能会觉得这样看起来分不清哪个内容来自哪个文件但配合重定向符号这个特性就有大用处了——把多个散文件的内容合并成一个文件是cat最经典的用法之一。另外cat配合输出重定向还能快速创建小文件cat mynote.txt执行后会进入等待输入状态你随便输入几行文字输入完成后按CtrlD结束。这里要特别注意符号表示覆盖写入如果mynote.txt之前有内容会被全部清空重写。如果要追加内容得用cat mynote.txt这个细节我见过很多新手踩坑想追加内容结果用了把原来的配置覆盖了欲哭无泪。2.2 行号显示与特殊字符检查cat虽然简单但它自带两个高频使用的参数一个是显示行号一个是显示特殊字符。显示行号用-ncat -n /etc/nginx/nginx.conf这个参数在你需要第几行有问题的场景下特别好用。比如你编辑配置文件时报错说第47行有语法问题你就可以用cat -n直接定位到那一行附近的内容快速确认问题所在。需要注意的是-n显示的行号是cat自己加的输出标记并不会修改文件本身。显示特殊字符用-A等于-vET的组合效果这个参数值得单独拎出来讲讲。它的作用是让那些看不见的字符现出原形。cat -A /etc/nginx/nginx.conf你可能会看到行尾出现$符号那是标记换行符的位置看到^I那是Tab符看到M-开头的乱码形状那是非ASCII字符。这个功能在排查配置文件时特别有用尤其是你从Windows系统把文件传到Linux服务器上文件里往往带着\r回车符用vi打开看着正常但程序运行就是报错。这时候执行cat -A看一眼你会发现每行结尾是^M$而不是正常的$问题一眼就定位了。2.3 用cat创建文件EOF写法前面提到cat配合重定向可以创建文件但那种方式适合纯手动输入。在脚本里有一种更潇洒的写法叫Here Document内嵌文档也就是我们常说的EOF写法。它的基本格式是这样的cat build_config.sh EOF #!/bin/bash echo Hello Linux echo Current time: $(date) EOF执行完之后build_config.sh文件里就会包含EOF中间的那些内容。这里的EOF不是固定关键字你可以用任意字符串比如CAT_EOF、END只要前后一致就行。不过社区惯例是使用EOF见得多、误读少。这种写法的好处是可以原样保留引号、特殊字符、多行格式不需要逐行转义非常适合在一个自动化脚本里批量生成配置文件。我自己的习惯是给Nginx写站点配置、给systemd写服务文件都用这个方式在脚本里生成比每次登录服务器手动vi编辑要省事得多。这里有个加分技巧如果你想在EOF块里使用$变量的值不要加引号像$date会被展开成实际值如果你希望原样保留$符号不想让它被展开就把EOF加上引号cat demo.txt EOF PATH$PATH:/custom/bin EOF不加引号时$PATH会被解释成当前环境变量你说这坑不坑人我第一次用EOF写环境变量配置时被这玩意儿坑过一次花了好几分钟才反应过来。2.4 合并文件与重定向组合前面说cat的连接本义现在实操一下。合并两个文件成一个命令很简单cat a.txt b.txt combined.txt这条命令会把a.txt和b.txt的内容按先后顺序写入combined.txt。如果combined.txt原先已有内容会被覆盖掉。不想覆盖就换成cat a.txt b.txt combined.txt这种合并操作的现实场景很常见。比如你手头有多个分段的日志文件想合并成一个文件再统一分析或者多个CSV小文件想合成一个大文件再导入数据库。都可以用cat直接搞定不需要打开Excel一个个复制粘贴。还有一个组合用法也值得提就是cat配合管道。比如cat access.log | grep ERROR | wc -l这条管道链的意思很清晰的先输出access.log的内容再交给grep过滤出含ERROR的行再用wc -l数一数有几行。这就是cat在查看文件之外的另一个身份——它像一个水龙头把文件内容源源不断地放出来后续接什么管道取决于你的需求。需要提醒的是cat file | grep xxx这种用法在这个场景下没问题但有些较真的工程师会告诉你其实直接grep xxx file就行不需要cat多此一举。这个说法是对的但作为新手阶段先理解管道的协作逻辑更重要不必过度追求这个层面的精简。3. more命令大文件浏览的正确姿势3.1 分页的基本逻辑当你用cat查看一个上千行的日志文件时终端会像疯了一样快速滚动你还没看清开头文件已经滚到末尾了。这就是more的出场时机。more /var/log/syslog执行后屏幕左下角会出现类似--More--(7%)的提示意思是当前显示的内容占整个文件的7%。more会根据地终端窗口的行数自动计算出每一页能显示多少行然后一页一页地把文件内容推进给你。你按一次空格键就往下翻一屏按一次回车键只往下翻一行。这种设计思路非常符合人的阅读节奏先看当前屏幕看完了再决定继续翻还是退出。more在显示到文件末尾时会自动退出并回到命令行提示符所以不需要担心卡在里面出不来。3.2 常用操作按键more的交互按键非常少但每个都很关键空格键向下翻一屏回车键向下翻一行b键往回翻一屏稍微注意不是所有版本都支持斜杠/进入搜索模式输入关键词后回车会跳到下一个匹配位置q键随时退出这里我想重点说一下搜索功能。比如你打开了一个几百行的配置文件想直接找到和server相关的内容你不需要从头一行一行翻直接按/输入server回车more会跳到第一个匹配的位置并高亮显示。再按n键可以跳到下一个匹配的位置。还有一个很管用的操作技巧more允许直接用行号定位。比如你想直接查看文件的第500行附近可以打开文件后输入500加回车注意这里的输入方式是在more的交互状态下直接输入数字不需要按冒号之类的引导键more会直接跳到那一行。这在查看大型日志的特定段落实在是太方便了。另外more不仅可以直接查看文件还可以接收管道输入dmesg | more这一招的关键价值在于有些命令的输出非常长比如dmesg查看内核日志、ls -l /usr/bin查看海量文件列表直接执行的话输出会刷屏到看不清。用管道接一个more输出就变成了分页浏览模式想看多快看多快看完按q退出即可。3.3 从more到less什么时候该换工具说到more就不能不提它的大名鼎鼎的升级版less。有个经典梗说less is more字面意思是少即是多在这里恰好是双关less命令比more功能更强。less和more的核心区别在于more只能向前翻往回翻的浏览能力很弱而less支持向前和向后自由翻页还支持上下方向键逐行移动。所以如果你在more里翻过了一页想回头再看看你会发现很别扭而用less就完全没有这个顾虑按方向键就行了。那这一章为什么只讲more不讲less我觉得作为入门第五章先掌握more这个能用的工具就够了。它的按键更少、逻辑更直白、不容易让新手产生挫败感。等你对more的操作完全形成肌肉记忆了再升级到less基本就是无缝切换——因为less的常用按键和more几乎一致空格翻页、q退出都一样。我的实际建议是工作中查看配置文件、日志直接用less效率更高但学习阶段把more用熟可以帮助你理解分页浏览这一思路是如何在终端里落地的。两者不是敌对关系是你技能树上的两个阶段。4. 终端快捷键效率翻倍的关键4.1 Tab补全减少键盘敲击讲完cat和more这两个命令终于说到快捷键了。在Linux终端里练快捷键第一个要练到形成条件反射的就是Tab补全。你只需要输入命令或文件名的前几个字母按一下Tab键系统会自动补全剩下的部分。比如你想敲systemctl只需要输入system再按Tab命令就自动补全了。文件名、目录名同理。如果前几个字母对应不止一个可能结果按一下Tab没反应再按两下Tab系统会列出所有可能的匹配项供你选择。这个操作看起来不起眼但一天下来能帮你省下海量的键盘敲击量。有个使用心得补全命令和补全文件的优先级不太一样。命令的补全搜索的是系统PATH路径下的所有可执行文件文件名的补全搜索的是当前目录下的文件。如果你在某个嵌套很深的目录里工作Tab补全的价值会被放大到极致不用一遍遍cd到上级目录去确认文件名到底叫什么。4.2 Ctrl系列进程控制和屏幕控制终端快捷键里有一批是中断与控制类的它们的响应优先级非常高不管当前终端在跑什么命令只要你按下去命令通常都会被打断。最常用的几个CtrlC强制中断当前正在运行的命令。比如你cat一个超大文件刷屏到头疼按CtrlC立刻回到命令行提示符。CtrlZ把当前运行的任务挂起到后台。这个和CtrlC有本质区别CtrlC是杀掉进程CtrlZ只是暂停并沉入后台之后可以用fg命令把它恢复到前台继续跑。比如你vim编辑文件到一半临时想执行几条别的命令按CtrlZ回到命令行执行完再输入fg就能回到刚才的vim界面。CtrlL清屏。效果和输入clear命令一样但不需要敲字母再回车一只手就完成了。CtrlD结束当前输入。前面在讲cat创建文件时提过这个快捷键在终端里还有其他含义比如在一个空命令行里按CtrlD等于退出当前登录会话。如果你是通过ssh登录服务器的按CtrlD会断开连接。这里我要特别说一下CtrlC和CtrlZ的区别因为新手最容易弄混。举个生活例子你正在下载一个大文件CtrlC像是你在下载中途直接关闭下载工具下载任务没了CtrlZ像是你把下载工具最小化到后台下载进程还在只是你看不到想看了再点出来。所以如果你想暂停而不是终止某个任务用CtrlZ别用CtrlC。4.3 光标移动与历史命令日常操作终端时光标移动和命令修改也是高频操作。Linux的Bash终端支持一组快捷键让你不需要挪动手指到方向键位置全程就在主键盘区完成。常用的一组CtrlA光标跳到命令行的开头CtrlE光标跳到命令行的结尾CtrlW删除光标前的一个单词CtrlU删除光标前的所有内容CtrlK删除光标后的所有内容这组快捷键你在写长命令时会感受很深。比如你拼了一条好几百字符的长命令发现开头部分有个参数写错了直接按CtrlA跳到开头改再用CtrlE跳回结尾继续写全程不用碰方向键手不用离开字母区速度提升非常明显。历史命令快捷键同样是效率大户。最基础的是上下方向键但更强力的是CtrlR反向搜索历史命令。按CtrlR进入搜索模式后输入任意关键字系统会从你的历史命令里匹配最近的一条。如果匹配到的不是你想要的那条再按一次CtrlR继续往前找。找到之后回车即可执行。这个功能的实际价值在于很多操作是有惯性的。比如你每周都要执行一次数据库备份命令但命令特别长参数特别多。第一次你得完整敲一遍以后每周执行时按CtrlR输入backup回车啪一下就把那条长命令调出来了。真正意义上的一次输入多次复用。4.4 常用快捷键速查表为了方便你随时查阅我把上面提到的快捷键整理成一个速查表建议收藏到笔记里用一周左右形成肌肉记忆。快捷键作用使用频率Tab命令/文件名自动补全极高CtrlC强制中断当前命令极高CtrlL清屏高CtrlD结束输入或退出登录中CtrlZ将当前任务挂起到后台中CtrlA光标跳到行首中CtrlE光标跳到行尾中CtrlW删除光标前的一个单词中CtrlU删除光标前的所有内容中CtrlK删除光标后的所有内容低CtrlR反向搜索历史命令高需要强调的是这份速查表只覆盖了Bash环境下的最常见操作。如果你换到别的Shell比如zsh大部分快捷键仍然有效但可能会有个别差异。另外如果你用的是macOS的终端Ctrl键对应的操作其实同样生效只是有些人习惯用Command键这里要留意区分。5. 常见问题与踩坑记录5.1 cat一个超大文件导致终端卡顿这是我见过最多新手踩的坑。有朋友直接用cat查看一个几百MB的日志文件结果终端瞬间被刷屏鼠标都动不了最后只能粗暴地关闭终端窗口重新连接。这个问题的根源在于cat的输出逻辑是全量输出它不会考虑你的终端能不能处理这么多内容。解决办法很简单大文件不要用cat改用more或less分页查看。如果已经执行了按CtrlC中断输出。还有一个预防思路是想快速看一个大文件的末尾部分时用tail -n 50 文件名只看最后50行足矣。5.2 more界面退出不了这个问题也困扰过不少人。在more的分页界面里新手容易疯狂按空格翻页翻到末尾发现提示符出现了以为退出了其实那只是内容看完了。真正在更多阅读过程中想退出按q键即可。q键的效果是立即终止more进程并回到Shell提示符。对应的教训是在more的交互界面里所有操作都要看清左下角的提示平时用不上q但关键时刻它能救你出迷宫。5.3 cat查看中文文件乱码如果你cat一个中文文档终端里显示一堆乱码大概率不是文件本身损坏而是终端编码设置和文件编码不一致。Linux系统默认的locale环境多数是UTF-8如果文件是GBK或GB18030编码直接cat就会有乱码。解决思路有两个一是临时切换终端字符集比如把当前会话的LANG环境变量改成zh_CN.GBK再尝试另一个是使用iconv命令转码后再查看比如iconv -f gbk -t utf-8 旧文件.txt。不过说实话日常管理服务器遇到这种场景不多但一旦遇到还是要知道怎么排查。关于文本编码的原理和Linux下的玩法我后面打算单独写一个章节来展开这里先提一嘴。5.4 快捷键没反应或提示声音有些快捷键在终端里按了没反应或者发出哔的提示音这通常不是Shell的问题而是快捷键被终端模拟器或者系统的其他软件占用了。比如某些终端工具里CtrlC可能被配置成复制功能Tab键被配置成切换窗口焦点这就会和Shell自带的快捷键冲突。排查思路是先在终端里执行bind -P查看当前Bash的快捷键绑定情况确认快捷键是否绑定到指定功能再检查终端模拟器的设置菜单看有没有抢占快捷键的选项。比如我经常遇到的一个场景是在图形界面下的某些终端软件里CtrlL会被系统锁屏占用导致Shell无法收到清屏指令。这时候只能用clear命令替代或者去系统设置里改锁屏快捷键。6. 综合实操一个完整场景串联所有知识点6.1 任务场景查看并分析一个增长中的日志文件理论知识说到底要落到实践中。这里我设计一个综合练习把本章所有核心知识点串起来用一遍。假设你管理着一个Nginx服务器当天的访问日志文件是/var/log/nginx/access.log你想快速了解当前请求的情况。第一步确认文件的大小和行数ls -lh /var/log/nginx/access.log wc -l /var/log/nginx/access.log这两个命令分别显示文件大小和总行数。假设文件有3万行体量不算小这就排除了直接cat的方案。第二步先看文件尾部最新进展tail -n 20 /var/log/nginx/access.logtail命令默认不带参数时只显示文件末尾10行加-n 20显示末尾20行。这一步的目的是掌握当前正在发生什么属于日志排查的热身动作。第三步如果日志增长太快你想要连续监控并实时刷新按CtrlC无法中断输出时可以改用tail -f模式它会持续跟随文件新增内容。不过这个功能已经超出本章范围我在这里提到是因为它和cat、more形成一条很好的对比链cat看全部、more分页看、tail看尾部、tail -f看实时。第四步我们回到本章主角。假设你想从这3万行日志里找出所有状态码为500的错误请求用cat配合管道cat /var/log/nginx/access.log | grep 500 /tmp/error500.log这条命令会把包含500的行过滤出来另存到/tmp/error500.log文件里。执行完之后你会发现/tmp/error500.log可能还有几百行这时想逐条查看就可以用more分页浏览more /tmp/error500.log在more界面里按空格翻页、按/500搜索、按q退出整套动作一气呵成。这个流程走下来你会发现cat、more、快捷键不是三个孤立的知识点而是同一个工作流里不同阶段使用的工具cat把文件内容搬运到后续命令里more让你在大批结果中从容翻阅快捷键则贯穿始终——Tab补全命令输入、CtrlR快速调出之前执行过的过滤命令、CtrlC及时终止不需要的输出。6.2 实操后的个人体会我自己带过不少新手总结起来这一章最容易踩的坑其实是用错工具。cat用在小文件上非常舒服但你拿它搞大日志就是灾难。more的分页虽然朴素但配合搜索和管道之后能力并不弱。快捷键更是如此不需要第一天就背下所有按键建议先从Tab补全、CtrlC、CtrlR这三个开始用用到形成肌肉记忆再逐步扩展。6.3 扩展思路从more到less从命令到Shell脚本如果你对分页浏览这个路子感兴趣下一步可以试着把more换成less感受一下前后翻页的自由度如果你对快捷键产生了习惯下次遇到命令行编辑时可以主动试试CtrlA、CtrlE、CtrlU这些组合。再往后等这些命令都熟练了就可以尝试把它们组合成简单的Shell脚本那已经是后面章节的内容了。但有一点现在就可以放心不管未来学到多深cat、more、快捷键这三样始终会是你和Linux打交道时的第一梯队工具。

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号