假想情景:使用mysqldump创建mysql数据库备份的。此数据库的列是blobs。这意味着您的“文本”转储文件同时包含字符串和二进制数据(二进制数据存储为字符串?)
如果你把这个文件放在屏幕上
$ cat dump.mysql
你经常会得到意想不到的结果。终端将开始发出嗡嗡声,然后输出结束滚动,您通常会在终端上输入垃圾字符,就像键入垃圾字符一样,有时您输入的提示和任何内容都是垃圾字符。
这一切为什么要发生?换句话说,我想我想要的是,当您将二进制字符串存储到文件中时,以及当您对这些文件进行cat时,以及当cat的结果报告给终端时,以及我遗漏的任何其他步骤时,实际发生的事情。
发布于 2010-04-12 10:58:04
从这里开始:http://www.faqs.org/docs/Linux-HOWTO/Keyboard-and-Console-HOWTO.html
特别是第3节(控制台通用)和第4节(重新设置终端)。
它涵盖的范围比你所说的要多一点,但应该能满足你的需要。
发布于 2010-04-12 10:58:48
发布于 2010-04-12 11:06:13
当您将二进制数据猫到屏幕上时,终端试图将该二进制数据解释为ASCII (或UTF)。一些字符可以控制终端。例如,
echo "^[[0;31;40m" # The first ^[ comes from pressing Ctrl+v, Esc
会把背景变成黑色而前景变成红色。使用reset
将终端恢复正常。
https://stackoverflow.com/questions/2624554
复制相似问题