cat 是 concatenate(连接)的缩写,是类 Unix 系统(包括 AIX)中最基础、最常用的命令之一,它的核心功能是将文件的内容连接并输出到标准输出(通常是你的终端屏幕)。

下面将从基本用法到高级技巧,全面介绍 AIX 中的 cat 命令。
基本语法
cat [选项] [文件名...]
- 选项: 用于控制
cat命令的行为。 - 文件名: 可以是一个或多个文件名,如果提供多个文件名,
cat会按顺序将它们的内容连接在一起输出。
常用选项和示例
1 显示文件内容 (最基本用法)
这是 cat 最常见的用途,即查看一个文本文件的内容。
示例: 显示 my_notes.txt 文件的内容。
cat my_notes.txt
输出:

这是我的第一个笔记。
记录今天的学习内容。
AIX cat 命令很有用。
重要提示: 如果文件非常大,内容会瞬间全部刷到屏幕上,你可能看不清前面的内容,对于大文件,建议使用 less 或 more 命令进行分页查看。
2 同时显示多个文件
cat 可以将多个文件的内容依次连接并显示。
示例: 先显示 file1.txt 的内容,然后紧接着显示 file2.txt 的内容。
cat file1.txt file2.txt
输出:

// file1.txt 的内容
这是文件一的第一行。
这是文件一的第二行。
// file2.txt 的内容
这是文件二的第一行。
这是文件二的第二行。
3 将内容重定向到新文件 (创建/覆写文件)
使用输出重定向符 >,可以将 cat 的输出(即文件内容)写入到一个新文件中,如果目标文件已存在,它将被完全覆盖。
示例: 将 file1.txt 和 file2.txt 的内容合并并保存到 combined.txt 文件中。
cat file1.txt file2.txt > combined.txt
执行后,你可以用 cat combined.txt 来验证新文件是否创建成功且内容正确。
4 将内容追加到现有文件
使用输出追加重定向符 >>,可以将 cat 的输出追加到目标文件的末尾,而不会覆盖原有内容。
示例: 将 new_notes.txt 的内容追加到 combined.txt 文件的末尾。
cat new_notes.txt >> combined.txt
再次查看 combined.txt,你会发现它的末尾增加了 new_notes.txt 的内容。
5 使用标准输入
cat 命令也可以不从文件读取,而是从标准输入 读取数据,当你不提供任何文件名时,cat 就会进入交互模式,等待你从键盘输入内容。
示例:
- 直接输入
cat,然后按回车。 - 输入一些文本,每输完一行按回车。
- 当你完成输入后,按下
Ctrl+D(表示文件结束符 EOF),cat会将你输入的所有内容输出到屏幕上。
cat Hello, this is a test. This is the second line. ^D <-- 在这里按下 Ctrl+D
输出:
Hello, this is a test.
This is the second line.
你也可以将标准输入和输出重定向结合使用,创建一个简单的交互式文件创建工具。
cat > my_new_file.txt This is line 1. This is line 2. ^D
my_new_file.txt 文件就被创建了,并包含你输入的两行内容。
6 常用选项详解
| 选项 | 全称 | 功能描述 | 示例 |
|---|---|---|---|
-n |
--number | 显示行号,输出的每一行前都会加上一个行号(从 1 开始)。 | cat -n my_notes.txt |
-b |
--number-nonblank | 显示非空行号,只对非空行进行编号,空行不编号。 | cat -b my_notes.txt |
-A |
--show-all | 显示所有字符,这是一个非常实用的选项,它会显示所有控制字符, • (行尾) • Tab 键显示为 ^I• 换行符显示为 ^J• 其他非打印字符也会以 ^ 的形式显示。 |
cat -A my_notes.txt |
-s |
--squeeze-blank | 压缩连续的空行,将多个连续的空行压缩为一个空行。 | cat -s messy_file.txt |
-v |
--show-nonprinting | 显示非打印字符(除了 Tab 和 Line Feed),与 -A 类似,但不显示行尾的 和 Tab。 |
cat -v my_notes.txt |
-E |
--show-ends | 显示行结束符,在每行的结尾显示一个 符号。 | cat -E my_notes.txt |
-T |
--show-tabs | 显示 Tab 字符,将 Tab 键显示为 ^I。 |
cat -T my_notes.txt |
高级技巧与注意事项
1 结合管道 使用
cat 命令的真正威力在于它经常与其他命令通过管道 结合使用,将一个命令的输出作为另一个命令的输入。
示例: 查看 error.log 文件,并过滤出包含 "ERROR" 关键词的行。
cat error.log | grep "ERROR"
示例: 对 large_file.txt 的内容进行排序并去重。
cat large_file.txt | sort | uniq
注意: 在上述管道示例中,cat large_file.txt 通常可以简化为直接使用 large_file.txt。
# 这两种写法效果相同,但第二种更简洁高效 cat large_file.txt | sort sort large_file.txt
当需要处理来自多个文件或标准输入的流时,cat 就变得非常必要了。
2 处理二进制文件
警告: cat 命令不应该用于直接查看二进制文件(如可执行文件、图片、压缩包等),因为二进制文件中包含很多非打印字符,直接输出到终端可能会导致终端显示混乱、卡死或出现不可预测的行为。
如果你确实需要查看或处理二进制文件,请使用专门的工具,如 od (octal dump) 或 hexdump。
示例: 以八进制格式查看二进制文件的头几行。
od -c my_binary_file | head
| 功能 | 命令示例 | 描述 |
|---|---|---|
| 查看文件 | cat filename |
基本用法,显示文件全部内容。 |
| 合并文件 | cat f1 f2 > f3 |
将 f1 和 f2 的内容合并并覆盖写入 f3。 |
cat f1 >> f2 |
将 f1 的内容追加到 f2 的末尾。 | |
| 创建文件 | cat > newfile |
从键盘输入创建新文件,Ctrl+D 结束。 |
| 显示行号 | cat -n filename |
并附带行号。 |
| 显示所有字符 | cat -A filename |
显示所有字符,包括 Tab 和行尾符。 |
| 过滤日志 | cat app.log \| grep "ERROR" |
结合管道,过滤出包含 "ERROR" 的行。 |
掌握 cat 命令是使用 AIX 命令行的第一步,虽然它很简单,但通过与其他工具和重定向符结合,它可以成为你日常系统管理和文本处理中不可或缺的强大工具。
