第9章 查看文件内容——为什么不用记事本?

发布时间:2026/7/2 20:08:06
第9章 查看文件内容——为什么不用记事本? 学完这一章你将能够查看小文件。查看超大的日志文件。快速定位文件开头和结尾。理解为什么 Linux 工程师几乎不用图形文本编辑器查看日志。第一节 一个真实场景假设你部署了一个网站。今天老板说网站打不开了。你第一反应是什么Windows 新手可能会想双击日志文件。Linux 工程师第一反应通常是先看日志。因为日志Log就是程序留下来的记录。例如10:30:01 Server Started 10:30:15 User Login 10:30:20 Database Connected 10:30:25 ERROR: Connection refused第二节cat—— 最简单的查看命令假设有一个文件notes.txt里面内容Linux Docker Nginx现在输入cat notes.txt终端显示Linux Docker Nginx很多教程说cat表示Concatenate。连接文件。历史上它确实主要用于连接和输出文件内容。但在日常使用中你可以先理解成把文件内容输出到终端。第三节cat为什么不适合看日志假设日志有500000 行如果输入cat server.log会发生什么终端开始疯狂滚动几秒钟以后全部结束你什么都没看清。所以真正工作几乎不会cat huge.log来看大日志。什么时候适合用cat通常是配置文件很短。README 文件。几十行以内的小文件。快速确认文件内容。如果文件很大就该换工具了。第四节less—— 查看大文件的神器现在学习less例如less server.log终端不会一次全部输出而是一页一页显示。你可以↑ ↓ 上下移动。Page Up / Page Down 翻页。空格键向下翻一页。输入q退出。是不是很像电子书阅读器第五节 为什么叫 less很多人觉得less是不是比more功能少其实正好相反。早期 Linux 有一个命令more后来有人开发了功能更强、体验更好的新工具。结果幽默地命名less意思Less is more.少即是多这是 Unix 世界一个著名的小幽默。第六节head—— 看开头很多时候文件太大你根本不用全部看。例如配置文件你只想看最前面。命令head notes.txt默认显示前10 行。例如Line1 Line2 ... Line10如果想看前20 行可以head -20 notes.txt第七节tail—— 看结尾服务器日志最重要的信息通常在最后因为错误刚刚发生。所以Linux 工程师最爱的命令之一tail server.log默认最后10 行。例如... ERROR Connection refused Program exited是不是一下就找到重点了第八节tail -f—— 服务器运维必学这一节是今天最重要的内容。假设网站正在运行日志还在不断增加。如果不停tail是不是很麻烦Linux 提供tail -f server.log这里-f表示Follow跟随。你可以理解成一直盯着这个文件。例如程序不断写入10:30 User Login马上显示。然后10:31 ERROR马上又显示。不用重新打开文件。 企业里的真实场景假设今天你修改了网站配置重新启动服务。然后马上输入tail -f /var/log/nginx/error.log接着打开浏览器访问网站。如果有错误终端立即显示。第九节 一个完整排查案例假设老板说网站打不开。第一步进入日志目录cd /var/log第二步看看有哪些日志ls第三步进入cd nginx第四步实时观察tail -f error.log第五步刷新浏览器。终端突然出现Permission denied问题找到了。整个过程不到一分钟这就是Linux 运维。第十节cat、less、head、tail到底怎么选很多新手都会问为什么有四个命令一个不够吗其实每个工具解决不同问题。命令最适合什么情况cat查看很小的文件less阅读大文件head看开头几行tail看最后几行tail -f实时观察日志这就是 Unix 的设计哲学每个工具专注做好一件事。⚠️ 新手最容易犯的错误错误一看到日志直接cat huge.log结果几十万行瞬间刷屏。正确做法先tail或者less错误二排查网站问题打开日志看第一页。实际上错误通常就在最后几行。所以先tail本章总结今天。你学会了 Linux 中最常用的一组查看命令命令作用使用频率cat输出整个小文件⭐⭐⭐⭐☆less分页查看大文件⭐⭐⭐⭐⭐head查看开头几行⭐⭐⭐⭐☆tail查看最后几行⭐⭐⭐⭐⭐tail -f实时跟踪日志⭐⭐⭐⭐⭐⭐ 工程师视角这一章真正重要的不是记住五个命令。而是建立一种排查问题的顺序先找日志 → 先看最后几行 → 必要时实时跟踪。很多服务器故障并不是因为工程师知道更多命令而是因为他们知道先去哪里找证据。