一、基础选项
**-n / --number**
功能:为所有输出行添加行号(包括空行),从1开始编号。
示例:
bash
cat -n file.txt # 输出:1 Line1 2 Line2
**-b / --number-nonblank**
功能:仅对非空行添加行号,覆盖 -n 的行为。
示例:
bash
cat -b file.txt # 输出:1 Line1 2 Line2(空行不编号)
**-s / --squeeze-blank**
功能:压缩连续的空行为一行,减少冗余输出。
示例:
bash
cat -s file.txt # 原文件多行空行 → 输出仅一行空行
二、不可见字符显示
**-v / --show-nonprinting**
功能:显示非打印字符(如制表符 ^I、换行符 $)。
示例:
bash
cat -v file.txt # 制表符显示为 ^I,行尾显示为 $
**-T / --show-tabs**
功能:将制表符(TAB)显示为 ^I,便于识别。
示例:
bash
cat -T file.txt # TAB字符显示为 ^I
**-E / --show-ends**
功能:在每行末尾显示 $ 符号,标记行尾位置。
示例:
bash
cat -E file.txt # 输出:Line1$ Line2$
**-A / --show-all**
功能:等价于 -vET,同时显示所有控制字符(包括 @、?)。
示例:
bash
cat -A file.txt # 显示隐藏字符及行尾 $
三、文件操作
合并文件
功能:将多个文件内容连接后输出或重定向到新文件。
示例:
bash
cat file1.txt file2.txt > merged.txt # 合并并覆盖
cat file1.txt file2.txt >> merged.txt # 追加
创建文件
功能:通过标准输入创建或追加内容到文件(按 Ctrl+D 结束输入)。
示例:
bash
cat > newfile.txt # 输入内容后按 Ctrl+D 保存
四、高级用法
调试文件
使用 -v 或 -A 查看不可见字符,排查格式问题。
示例:
bash
cat -v config.conf # 检查隐藏字符错误
分页显示大文件
结合 less 或 more 避免滚屏。
示例:
bash
cat large.log | less # 分页查看
流处理与管道
通过管道传递数据到其他命令(如 grep、sed)。
示例:
bash
cat file.txt | grep “error” # 查找关键词
五、注意事项
大文件处理
直接使用 cat 显示大文件可能导致终端卡顿,建议用 less 或 more。
权限问题
需对文件有读权限,否则报错 Permission denied。
符号链接处理
默认跟随符号链接显示目标文件内容,使用 -h 可显示链接本身。
六、引用说明
选项功能与示例:
高级用法与调试技巧:如需查看完整手册,可通过 man cat 或 cat --help 获取详细信息。