前言
在 Linux 运维、后端开发日常工作中,我们经常需要查看日志、配置文件、脚本内容。Linux 提供了很多查看文件的命令,它们各有适用场景:有的适合一次性查看小文件,有的适合分页翻阅,有的专门用来实时跟踪日志。很多新手容易分不清
cat、more、less、tail、head的区别,这篇文章就把常用查看文件命令一次性讲清楚,附带实战示例。
一、cat:一次性输出全部内容
cat 是最基础的查看命令,全称 concatenate,本意是拼接文件,最常用的场景就是直接打印整个文件到终端。
✅ 适合:小配置文件、短文本
❌ 不适合:大日志文件,内容太多会刷屏,不好回看
基础用法:
bash
# 查看文件全部内容
cat nginx.conf
# 显示行号(非常常用,排查配置报错)
cat -n nginx.conf
# 显示非空行的行号
cat -b nginx.conf
补充小技巧:
bash
# 同时查看多个文件
cat file1.txt file2.txt
注意:如果文件几十 MB 以上,不要直接 cat,终端会疯狂刷屏。
二、more:分页查看(老式分页工具)
more 是早期的分页查看命令,按页加载文件内容。
✅ 适合:中等大小文件,简单翻页阅读
❌ 缺点:只能向下翻,不能向上回看,功能比较弱
bash
more app.log
交互快捷键:
- 空格:向下翻一页
- 回车:向下翻一行
- q:退出查看
- /关键词:向下搜索
三、less:推荐首选,强大分页查看
less 是运维最常用的分页工具,比 more 强大很多,支持上下滚动、搜索、跳转,打开大文件也不会一次性加载全部内容,性能更好。
口诀:less is more,Linux 里 less 才是主力
bash
less app.log
常用交互快捷键(重点记):
- 空格 / f:向下翻一页
- b:向上翻一页
- ↑ ↓ 方向键:单行上下滚动
- /xxx:向下搜索 xxx,n 下一个匹配,N 上一个匹配
- ?xxx:向上搜索 xxx
- g:跳到文件开头
- G:跳到文件末尾
- q:退出 less
常用参数:
bash
# 打开文件并高亮搜索关键词
less app.log
# -N 显示行号
less -N nginx.conf
四、head:查看文件开头部分
head 用来查看文件前面的内容,默认输出前10行。
✅ 适合:看文件头部格式、日志开头
bash
# 默认前10行
head app.log
# 自定义查看前20行
head -n 20 app.log
# 查看前50个字节(不常用)
head -c 50 app.log
五、tail:查看文件尾部,日志神器
tail 绝对是排查日志的高频命令,默认查看最后10行。最核心的功能是实时追踪文件新增内容,线上看日志必备。
基础用法:
bash
# 默认查看最后10行
tail app.log
# 查看最后30行
tail -n 30 app.log
⭐ 重点:实时跟踪日志 -f(follow)
bash
# 持续监听文件,新增日志自动输出到屏幕
tail -f app.log
# -F 比 -f 更稳:文件被日志切割(轮转)后,自动重新追踪新文件
tail -F app.log
线上排查报错,tail -F 是首选,按
Ctrl + C停止跟踪。
六、其他小众但实用命令
nl:带行号输出文件
和 cat -n 效果接近,专门用于打印带行号文本
bash
nl test.txt
od:查看二进制文件、乱码文件
如果打开文件是一堆乱码,大概率是二进制文件,od 以十六进制查看
bash
od test.bin
strings:提取二进制文件里的可读字符串
看程序、二进制包里面的文本信息
bash
strings xxx.bin
七、命令对比速查表
| 命令 | 特点 | 适用场景 |
|---|---|---|
| cat | 一次性全输出,简单 | 小配置、短文件 |
| more | 分页,仅能往下翻 | 简单阅读,不推荐优先用 |
| less | 双向滚动、搜索,高性能 | 通用阅读,首选 |
| head | 看文件开头 | 查看文件头部 |
| tail | 看尾部,支持实时跟踪 | 线上日志排查 |
八、实操小建议(运维踩坑经验)
- 小配置文件直接
cat -n; - 几十上百行的配置、脚本,优先
less -N; - 看日志、排查线上报错,优先
tail -F; - 不要
cat超大日志,容易把终端卡死; - less 里面搜索关键词,是定位报错日志最高效的方式。
九、小结
Linux 没有一个万能的查看命令,理解每个命令的定位很重要:
- 快速瞟一眼小文件:cat
- 慢慢翻阅、搜索内容:less
- 盯实时日志:tail -F
- 只看头部:head
熟练掌握这几个命令,日常查看配置、排查日志的效率会提升很多,也是 Linux 入门和面试高频考点。