![Linux cat 命令读取二进制或 pdf 文件的内容](https://linux22.com/image/1584849/Linux%20cat%20%E5%91%BD%E4%BB%A4%E8%AF%BB%E5%8F%96%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%88%96%20pdf%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9.png)
因此,我尝试使用 cat 命令读取文件的内容。但由于该文件是二进制文件,因此输出内容是乱码,我可以理解。但输出内容与我在其他文件上看到的非常不同。请参阅
照片。您看不到的是我的命令cat filename.extension
,然后输出的是乱码,似乎文件结束了但又继续了(除了输入第一个命令外我什么也没做)。
那么发生了什么?(请不要告诉我我应该使用strings
命令)
答案1
文件结束但又继续
乱码数据中的一些字节被解释为控制序列。请参阅ANSI 转义码:
某些字节序列(大多数以 Esc 和 开头
[
)嵌入到文本中,终端会查找这些序列并将其解释为命令,而不是字符代码。
实际上,在某个时候,你的光标会向上移动,而不会清除屏幕,会打印出几行,命令提示符会出现在老的输出。
有些后果可能是半永久性的。请阅读控制台中出现奇怪的字符我的答案就在那里。