“cat ls”弄乱了我的终端字符

Joh*_*eVI 0 command-line bash special-characters ls cat

当我进入 /bin 目录并执行cat ls它时,它会弄乱整个终端的字符,甚至我的输入也会弄乱,我别无选择,只能重新启动终端。我只是在看一个教程,那个人正在这样做,但他的终端并没有变得时髦。我想知道为什么会发生这种情况,因为我已经在其他系统文件上使用了 cat 并且它没有脱离束缚。

cat ls

现在正如你在我的终端底部看到的那样,一切都搞砸了

我也使用过该clear命令,但它只是清除终端并且输入仍然很时髦。

clear命令后

van*_*ium 9

cat ls如果您在目录中,则执行的操作/bin是将文件的内容显示ls到控制台。唉,那是一个二进制可执行文件。它包含对人类来说没有意义的字符。其中一些实际上可能类似于允许更改终端中的设置的转义序列。因此,该输出可以以随机、意外和不可预测的方式改变设置。

\n

$ \xe2\x8e\xbc\xe2\x90\x8a\xe2\x8e\xbd\xe2\x90\x8a\xe2\x94\x9c 您最终可以通过在提示符下输入“重置”(在屏幕上可能看起来为 )来恢复内容。

\n

如果您确实想查看二进制可执行文件的内容,请考虑xxd ls查看十六进制表示形式,或者xxd -b ls查看文件实际存储的情况,即一系列 0 和 1。objdump -d ls在可能的情况下,显示由以下表示的汇编程序助记符代码。

\n

  • 建议您在当前工作目录为“/bin”时输入“cat ls”的教程是一个糟糕的教程。唉,网上有很多糟糕的教程。 (12认同)
  • @JohnDoe16我怀疑你误解了教程中的某些内容,它不太可能告诉你这样做。你有链接吗? (3认同)