Bash中cat -t显示的^A类符号含义及使用原因咨询
关于cat命令特殊字符显示的问题
一、特殊符号的含义
这些符号是ASCII控制字符的可视化表示,对应文件里的非打印字符:
^A:对应ASCII码0x01(SOH,头部开始标记),是Ctrl+A对应的控制字符^B:对应ASCII码0x02(STX,文本开始标记),是Ctrl+B对应的控制字符^F:对应ASCII码0x06(ACK,确认信号),是Ctrl+F对应的控制字符^I:对应ASCII码0x09(HT,水平制表符),就是日常说的制表符,也是Ctrl+I对应的控制字符
这里的^代表按下键盘的Ctrl键,后面的字母是组合的按键。
二、为何需要-t参数才能查看
默认执行cat text.txt时,终端会把这些控制字符解析为对应的操作或直接忽略:比如^I会被渲染成空白缩进,其他多数控制字符不会在终端显示出可见内容,只会默默执行对应的终端指令(部分控制字符可能没有实际效果,就直接“消失”了)。
而cat -t的作用就是强制将非打印字符(换行、回车除外)转换为人类可读的符号形式,把原本终端不会显示的控制字符直观展示出来,方便你查看文件中隐藏的特殊字符。
内容的提问来源于stack exchange,提问作者Bugsbunny Bugsbunny
相关产品推荐
相关产品推荐

