cat 最初读取文件时如何解释文件?

问题描述

我一直在更深层次地研究 cat 命令的用法(长篇故事),我想澄清理解。

当我们 cat 二进制文件时,假设 cat 二进制文件本身:cat /usr/bin/cat 我们看到终端会稍微混乱,因为 cat 将这些解释为转义序列,这似乎归结为 {{1 }} 解释字节,但经过研究,我没有发现 cat 是如何实现这一点的。

一个例子是一个简单的 bash 脚本,我们可以在其中执行 cat 并将其通过管道传输到 bash 中以将其作为 bash 脚本执行,这对于 python 等是相同的。

总而言之,我想知道 cat bash_script.sh | bash 在读取字节时如何解释字节,然后如何将它们打印到屏幕上。

欢迎任何帮助,提前致谢:)

解决方法

cat 不解释字节。您的终端模拟器(例如 gnome-terminal)正在解释字节。

您可以在 console_codes man page 中找到一些代码。不同的终端可能在它们支持的代码方面存在一些差异。

您还可以查看 this blog post 以了解如何使用代码实现各种效果,例如彩色文本。