cat (Concatenate)
cat 是最简单、最直接的命令,用于将文件内容连续地输出到标准输出(通常是你的终端屏幕)。

基本语法:
cat [选项] 文件名...
常用选项:
-n: 对所有输出的行号进行编号。-b: 只对非空行编号。-A: 显示所有字符,包括不可见的字符(如空格显示为 ,制表符显示为 ,行尾显示为 ),这在调试时非常有用。
示例:
-
查看一个文件的内容:
(图片来源网络,侵删)cat my_document.txt
这会立即将
my_document.txt的所有内容一次性显示在屏幕上,如果文件很大,内容会飞速滚动,你可能根本来不及看。 -
查看文件并显示行号:
cat -n my_document.txt
-
同时查看多个文件:
cat file1.txt file2.txt
这会将
file1.txt的内容和file2.txt的内容依次显示出来。
(图片来源网络,侵删)
适用场景:
- 查看短小的文本文件。
- 将多个文件合并成一个新文件(
cat file1 file2 > newfile)。 - 快速确认文件是否存在或内容是否为空。
less (推荐用于大文件)
less 是一个更强大的分页查看器,它不像 cat 那样一次性将所有内容输出,而是加载一页到屏幕,让你可以上下滚动浏览,这对于查看大文件至关重要。
基本语法:
less [选项] 文件名
操作方式(非常重要!):
进入 less 后,你无法使用常规的键盘命令,必须使用它自己的导航键:
空格或f: 向下翻一页。b: 向上翻一页。j或 : 向下滚动一行。k或 : 向上滚动一行。G: 跳转到文件末尾。g或1G: 跳转到文件开头。- 进入搜索模式,输入关键词后按回车,会跳转到第一个匹配项,按
n查找下一个,N查找上一个。 q: 退出less,返回终端。
示例:
- 查看一个大文件:
less /var/log/syslog
你可以随意上下滚动,而不会丢失内容。
适用场景:
- 查看任何长文件,特别是日志文件、配置文件等。
- 需要在文件内进行搜索时。
- 需要前后对照查看内容时。
more
more 是 less 的前身,功能比 less 少,它也可以分页显示,但只能向前翻页,不能向后,它也没有 less 强大的搜索功能。
基本语法:
more [选项] 文件名
操作方式:
空格或f: 向下翻一页。Enter: 向下滚动一行。q或Ctrl+C: 退出more。- 搜索(功能较弱)。
适用场景:
- 在非常古老的 Unix 系统上(现代系统
less已完全取代它)。 - 当你只需要向前浏览,不需要回溯时。
现在请直接使用 less,它比 more 更好用。
head
head 命令用于显示文件的开头部分(默认是前 10 行)。
基本语法:
head [选项] 文件名...
常用选项:
-n 行数: 指定要显示的行数。head -n 20 my_file.txt: 显示文件前 20 行。- 一个常见的简写是
head -20 my_file.txt(省略了n)。
示例:
-
查看文件的前 10 行(默认):
head my_document.txt
-
查看文件的前 5 行:
head -n 5 my_document.txt
适用场景:
- 快速查看文件的开头,了解文件格式或内容概要。
- 查看日志文件最新的错误信息(虽然
tail更适合这个)。
tail
tail 命令用于显示文件的结尾部分(默认是最后 10 行),这是查看日志文件时最常用的命令之一。
基本语法:
tail [选项] 文件名...
常用选项:
-n 行数: 指定要显示的行数。tail -n 20 my_file.txt: 显示文件最后 20 行。- 简写:
tail -20 my_file.txt。
-f(follow): 这是一个非常强大的选项! 它会监视文件,并实时显示文件末尾新增的内容,当你需要持续跟踪日志输出时,这个功能无价。--retry: 如果文件一开始不存在,tail -f会报错并退出,加上--retry,它会持续尝试打开文件,直到文件出现。
示例:
-
查看文件的最后 10 行(默认):
tail my_log_file.log
-
查看文件的最后 50 行:
tail -n 50 my_log_file.log
-
实时追踪日志文件(系统管理员必备技能):
tail -f /var/log/nginx/access.log
每当有新的访问日志记录时,它们会立刻显示在你的终端上,按
Ctrl+C停止追踪。
适用场景:
- 查看日志文件的最新记录。
- 实时监控程序的输出。
- 查看一个不断增长的文件。
总结与选择建议
| 命令 | 主要功能 | 优点 | 缺点 | 最佳使用场景 |
|---|---|---|---|---|
cat |
一次性显示整个文件 | 简单、快速 | 文件大时内容会飞速滚过 | 查看短小文件、合并文件 |
less |
分页浏览文件 | 功能强大、可前后翻页、可搜索、不丢失内容 | 需要学习基本操作 | 查看任何长文件(首选) |
more |
向前分页浏览文件 | 比 cat 好处理大文件 |
不能向后翻页,功能有限 | 几乎被 less 取代,基本不用 |
head |
显示文件开头部分 | 快速、精确控制行数 | 只能看开头 | 查看文件前几行,了解格式 |
tail |
显示文件结尾部分 | 快速、精确控制行数 | -f 选项可实时追踪文件 |
查看日志最新记录、实时监控文件变化 |
给你的建议:
- 日常查看文件内容: 优先使用
less,它是最通用、最安全的命令。 - 只关心开头几行: 使用
head -n N。 - 只关心结尾几行,特别是日志: 使用
tail -n N。 - 需要实时跟踪日志: 使用
tail -f。
