linux的命令cat-a
linux的命令cat-a详细介绍
在 Linux 中,cat -a 命令用于显示文件内容,并将所有的控制字符和不可见字符以可见的形式呈现出来。其中,-a 选项等价于 -vET 选项的组合,具体作用如下:
核心功能
- 显示所有隐藏字符
包括制表符、换行符、文件结束符等,让不可见的控制字符变得可见,方便排查文件中的特殊格式问题。 - 等价选项
-a是-v(显示非打印字符)、-E(在每行结尾显示$)、-T(将制表符显示为^I)这三个选项的缩写组合。
常见显示规则
| 控制字符 | 显示形式 |
|---|---|
| 制表符(Tab) | ^I |
| 换行符(LF) | $ |
| 回车符(CR) | ^M |
| 退格符(BS) | ^H |
| 其他控制字符 | ^X(X 为对应的控制字符,如 ^@ 表示 NULL) |
示例
假设文件 test.txt 的内容为:
plaintext
hello world # 包含一个制表符和末尾空格line2$ # 末尾有换行符
执行 cat -a test.txt 后,输出会变为:
plaintext
hello^Iworld $line2$$
- 制表符
Tab显示为^I - 行尾的空格和换行符显示为
$ - 空行末尾的换行符显示为
$$(一个换行符对应一个$)
使用场景
- 排查文件格式问题:例如查看文件中是否包含 Windows 系统的回车符(
^M),或异常的制表符、空行。 - 调试脚本文件:确保脚本中没有隐藏的控制字符导致执行错误(如 Shell 脚本中的
^M可能引发语法错误)。
如果需要单独控制某个行为(如只显示行尾 $),也可以使用对应的单个选项(如 cat -E)。