1. 命令概述
- 命令名称:
cat - 英文全拼:concatenate(连接)
- 主要功能:连接文件并打印到标准输出设备(通常是终端)。核心用途是查看文件内容和连接多个文件。
- 使用权限:所有用户。
2. 语法格式
cat [选项] [文件]
3. 常用选项(参数)
| 选项 | 说明 |
|---|---|
-n | 显示所有行的行号(包括空行)。 |
-b | 显示行号,但只对非空行进行编号。 |
-s | 压缩连续空行,将多个连续空行合并显示为一个空行。 |
-E | 在每行末尾显示 $ 符号。 |
-T | 将文件中的 Tab 制表符 显示为 ^I。 |
-v | 显示一些非打印字符。 |
提示:
-E和-T在排查脚本格式问题时非常有用。
4. 主要用途与实例
(1) 查看文件内容
这是最基础的用法。
cat filename
(2) 连接多个文件
- 合并文件并输出到新文件:
cat file1.txt file2.txt > combined_file.txt - 同时显示多个文件内容:
cat file1.txt file2.txt
(3) 创建文件与追加内容
- 创建新文件(输入内容后按
Ctrl+D保存退出):cat > newfile.txt - 向文件末尾追加内容:
cat >> existing_file.txt
(4) 结合管道 (|) 使用
将其他命令的输出通过 cat 传递,常用于为输出添加行号等。
ls -l | cat -n
(5) 显示行号(常用选项示例)
- 显示所有行的行号:
cat -n filename - 只显示非空行的行号:
cat -b filename
(6) 清空文件内容
利用 /dev/null 这个空设备文件来清空一个文件,比删除再创建更高效。
cat /dev/null > /etc/test.txt
(7) 制作镜像文件(高级用法)
- 制作软盘镜像:
cat /dev/fd0 > floppy_image.img - 将镜像文件写回设备:
cat floppy_image.img > /dev/fd0
5. 重要概念解析
/dev/null:类 Unix 系统中的一个特殊设备文件,被称为“黑洞”。- 写入:所有写入它的数据都会被丢弃,但命令会认为写入成功。
- 读取:会立即返回文件结束符(EOF)。
- 常用技巧:
- 隐藏正常输出:
cat filename > /dev/null - 隐藏错误信息:
cat bad_filename 2> /dev/null(2代表标准错误输出)
- 隐藏正常输出:
小结: cat 命令是 Linux 中最基础、最常用的命令之一。核心要掌握其查看内容、合并文件、创建/追加文件三大功能,并熟练使用 -n, -b, -s 等常用选项来满足日常需求。理解 /dev/null 的作用能让你的命令行技巧更上一层楼。