linux - tty核心流字符

我在没有屏幕的硬件上运行linux,并将所有数据转储到串行上。我正在通过诸如hyperterm或teraterm之类的应用程序读取linux串行输出。我得到正确格式的串行输出。但是,如果我将输出转储到一个文件,然后尝试读取它,那么我会看到很多额外的字符。它们大多必须是来自tty核心的流控制字符。有没有办法禁用这些来自tty核心的流控制字符。
这就是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

谢谢。


最佳答案:

这些不是流控制字符,而是用于xterms或其他颜色ansi兼容终端设备的属性设置控制字符(特别是颜色设置)。若要清除它们,请在ls和其他命令中禁用自动着色,或将术语envvar设置为不理解颜色(或任何其他)控件的内容。TERM=dumb应该能做到。

译文:来源   文章分类: linux linux-kernel device-driver linux-device-driver

相关文章:

c - 基本C mkstemp代码中的segfault

linux - 在子目录中搜索相同文件,并在所有子目录中替换字符串

java - Java Swing中的摆动框架和窗口?

java - 如何改进使用BasicDataSource对象的Java应用程序?

linux - 在RHEL上更改用户默认登录shell? [关闭]

java - 从Java Web应用程序访问Linux本地文件系统

java - 如何在Linux中将java stack-trace的bash输出打印到文件中?

linux - 如何从iBeacon / BLE检索广告有效负载

linux - Linux Shell在一个命令中使用单引号和双引号

linux - 将文件重命名为数字,以特定的数字开头