cat
是 Linux 中用于查看、创建和合并文件的常用命令,全称 concatenate(连接)。其核心功能是将文件内容输出到终端或重定向到其他文件/命令中。以下是详细用法及场景示例:
基本语法
cat [选项] [文件1] [文件2] ...
选项 | 描述 |
---|---|
-n 或 --number | 显示所有行的行号(包括空行)。 |
-b 或 --number-nonblank | 显示非空行的行号(忽略空行)。 |
-s 或 --squeeze-blank | 压缩连续空行为一行。 |
-E 或 --show-ends | 在每行末尾显示 $ 符号(便于观察行尾空格)。 |
-T 或 --show-tabs | 将制表符(Tab)显示为 ^I 。 |
-v 或 --show-nonprinting | 显示非打印字符(如换行符、制表符等)。 |
核心功能与示例
1. 查看文件内容
2. 创建新文件(或覆盖内容
# 从键盘输入内容,按 Ctrl+D 保存并退出
# 追加内容到 a01file.txt(不覆盖原内容)
3. 合并多个文件
cat file1.txt file2.txt > combined.txt # 合并 file1 和 file2 到 combined.txt
cat *.log > all_logs.txt # 合并所有 .log 文件到 all_logs.txt
4. 与管道符结合使用
cat file.txt | grep "error" # 将文件内容传递给 grep 搜索关键词
cat file.txt | less # 分页查看大文件(替代直接 cat 大文件)
实际应用场景
场景1:快速查看日志文件
cat /var/log/syslog | tail -n 20 # 查看日志最后20行(避免滚动刷屏)
场景2:合并多个配置文件
cat config-*.conf > master.conf # 合并所有以 config- 开头的配置文件
场景3:生成多行文本(Here Document)
cat <<EOF > script.sh
#!/bin/bash
echo "Hello, World!"
EOF
场景4:检查文件隐藏字符
cat -v file.txt # 发现不可见字符(如 Windows 换行符 `^M`)
总结
-
简单场景:
cat
适合快速查看、合并小文件或生成简单文本。 -
复杂需求:结合管道符 (
|
) 与其他命令(如grep
、sort
)协作,或使用less
、awk
等工具