跳到主要内容

Linux 文本文件查看:cat、less、head、tail

Linux 系统里有大量配置和日志是文本文件。你需要学会快速查看它们,而不是每次都打开图形编辑器。

本文介绍 catlessheadtail

准备示例文件

进入练习目录:

mkdir -p ~/linux-practice/text-demo
cd ~/linux-practice/text-demo

创建一个简单文件:

printf "line 1\nline 2\nline 3\nline 4\nline 5\n" > notes.txt

查看文件:

cat notes.txt

预期输出:

line 1
line 2
line 3
line 4
line 5

cat:直接输出全部内容

cat 适合查看较短文件:

cat notes.txt

也可以显示行号:

cat -n notes.txt

如果文件很长,cat 会一口气输出全部内容,不方便阅读。这时应该使用 less

less:分页查看

less 适合查看长文件:

less notes.txt

常用按键:

按键作用
空格下一页
b上一页
g跳到开头
G跳到结尾
/word搜索 word
n下一个搜索结果
q退出

阅读日志、配置文件、命令输出时,less 非常有用。

head:查看开头

head 默认查看文件前 10 行:

head notes.txt

指定前 3 行:

head -n 3 notes.txt

它适合快速确认文件格式,比如 CSV 文件头、日志起始内容。

tail:查看结尾

tail 默认查看文件最后 10 行:

tail notes.txt

指定最后 3 行:

tail -n 3 notes.txt

查看日志时,最常用的是 -f

tail -f app.log

-f 表示 follow,会持续等待文件新增内容。你可以按 Ctrl+C 停止。

和管道配合

很多命令输出也可以交给 less

ls -la /etc | less

查看系统日志结尾并搜索关键字:

tail -n 100 /var/log/syslog | grep error

有些发行版没有 /var/log/syslog,可能使用 systemd journal。后面会介绍 journalctl 日志查看

什么时候用哪个

需求推荐命令
文件很短,直接看完cat
文件很长,需要翻页less
只看开头几行head
只看结尾几行tail
持续跟踪日志tail -f

常见错误

显示乱码

如果文本编码不是 UTF-8,终端可能显示乱码。你可以先用 file 看文件类型:

file notes.txt

文件太大

不要用 cat 直接输出超大日志文件。优先使用:

less large.log
tail -n 200 large.log

小结

查看文本文件是 Linux 日常操作的基本功。遇到配置和日志时,先问自己:

  • 我需要看全部,还是只看一部分?
  • 文件是短文件还是长文件?
  • 我是否需要持续观察新增日志?

然后选择 catlessheadtail