我在没有屏幕的硬件上运行linux,并将所有数据转储到串行。我正在通过hyperterm或teraterm之类的应用程序阅读linux系列文章。我得到了正确格式化的串行输出。但是,如果我将输出转储到一个文件中,然后尝试读取它,则会看到许多额外字符。大多数情况下,它们必须是来自tty core的流控制字符。有没有办法禁用这些来自tty core的流控制字符。这是我的ls命令的样子:
# ls
[0;0m1q[0m [1;34mbin[0m [1;34mhome[0m [1;34mmnt[0m [1;34msbin[0m [1;34mvar[0m [1;34mdev[0m [1;32minit[0m [1;34mopt[0m [1;34msys[0m [1;34metc[0m [1;34mlib[0m [1;34mproc[0m [1;34mtmp[0m [1;36mlinuxrc[0m [1;34mroot[0m [1;34musr[0m谢谢。
发布于 2012-03-06 01:29:24
这些不是流控制字符,它们是用于xterm或其他颜色ansi兼容终端设备的属性设置控制字符(特别是颜色设置)。要消除它们,可以在ls和其他命令中关闭自动着色,或者将术语envvar设置为不了解颜色(或任何其他)控制的内容。TERM=dumb应该可以做到这一点。
https://stackoverflow.com/questions/9570310
复制相似问题