Linux cat 命令详细教程
cat(concatenate 的缩写)是 Linux 系统中最常用的命令之一,主要用于查看文件内容、连接文件和创建简单文件。它功能简洁但灵活,是文件操作的基础工具。- 资料已经分类整理好:
https://pan.quark.cn/s/26d73f7dd8a7
一、基本语法
cat [选项] [文件...]
- 核心功能:
- 显示单个或多个文件的内容。
- 将多个文件连接(合并)后输出。
- 配合重定向符号(
>、>>)创建或追加文件内容。
二、常用选项
| 选项 | 功能描述 |
|---|---|
-n | 显示行号(包括空行) |
-b | 只对非空行显示行号(忽略空行) |
-s | 压缩连续的空行为一行(避免过多空行) |
-E | 在每行末尾显示 $ 符号(用于显示换行符位置) |
-T | 将 Tab 字符显示为 ^I(便于查看制表符) |
-v | 显示不可打印字符(如控制字符) |
--help | 显示帮助信息 |
--version | 显示版本信息 |
三、实际操作示例
1. 查看单个文件内容
cat filename.txt # 直接输出文件全部内容到终端
2. 查看多个文件内容(按顺序连接显示)
cat file1.txt file2.txt # 先显示 file1.txt,再显示 file2.txt 的内容
3. 显示行号(-n 选项)
cat -n filename.txt
输出示例:
1 line 1
2 line 2
3
4 line 4
4. 只对非空行显示行号(-b 选项)
cat -b filename.txt
输出示例:
1 line 1
2 line 2
3 line 4
5. 压缩连续空行(-s 选项)
cat -s filename_with_many_blank_lines.txt
6. 显示行尾符号(-E 选项)
cat -E filename.txt
输出示例:
line 1$
line 2$
$
line 4$
7. 显示 Tab 符号(-T 选项)
cat -T filename_with_tabs.txt
输出示例:
column1^Icolumn2^Icolumn3
data1^Idata2^Idata3
8. 组合选项(如同时显示行号和行尾符号)
cat -nE filename.txt
四、高级用法:与重定向结合
1. 创建新文件(覆盖写入)
cat > new_file.txt # 输入内容,按 Ctrl+D 结束输入
- 若
new_file.txt已存在,内容会被覆盖。
2. 追加内容到文件(>> 符号)
cat >> existing_file.txt # 输入内容,按 Ctrl+D 结束,内容会追加到文件末尾
3. 合并多个文件到一个新文件
cat file1.txt file2.txt > merged_file.txt # 将 file1 和 file2 合并为 merged_file
4. 使用 Here Document 输入多行内容
cat > script.sh << EOF
#!/bin/bash
echo "Hello, World!"
EOF
- 这会创建一个包含两行内容的
script.sh文件。
五、特殊场景与注意事项
1. 处理大文件
cat会一次性输出整个文件,若文件过大,可能导致终端卡顿。此时建议使用more、less或head/tail命令:less large_file.txt # 分页查看大文件
2. 查看二进制文件
- 直接用
cat查看二进制文件(如图片、可执行文件)会输出乱码,应使用专用工具(如hexdump):hexdump -C binary_file # 以十六进制和 ASCII 格式查看二进制文件
3. 安全风险
- 避免使用
cat直接查看敏感文件(如/etc/shadow),需配合sudo且谨慎操作:sudo cat /etc/shadow # 需管理员权限,内容包含用户密码哈希
4. 管道应用
cat常与其他命令通过管道(|)组合使用,例如统计文件行数:cat filename.txt | wc -l # 等价于 wc -l filename.txt
六、总结
cat 是 Linux 中最基础的文件操作工具,核心用途包括:
- 查看文件内容(配合
-n、-E等选项增强可读性)。 - 合并文件(通过重定向将多个文件合并为一个)。
- 快速创建简单文件(通过标准输入和重定向)。
尽管功能简单,但在脚本编写、日志查看、临时文件创建等场景中频繁使用。建议结合重定向和管道命令,发挥其更大威力。
1855

被折叠的 条评论
为什么被折叠?



