修复Linux/Unix/OS X/BSD系统控制台上的显示乱码

系统 Linux
有时我的探索会在屏幕上输出一些奇怪的东西。比如,有一次我不小心用 cat 命令查看了一下二进制文件的内容 —— cat /sbin/*。这种情况下你将无法再访问终端里的 bash/ksh/zsh 了。大量的奇怪字符充斥了你的终端。这些字符会隐藏你输入的内容和要显示的字符,取而代之的是一些奇怪的符号。要清理掉这些屏幕上的垃圾可以使用以下方法。

 

修复Linux / Unix / OS X / BSD系统控制台上的显示乱码

有时我的探索会在屏幕上输出一些奇怪的东西。比如,有一次我不小心用 cat 命令查看了一下二进制文件的内容 —— cat /sbin/*。这种情况下你将无法再访问终端里的 bash/ksh/zsh 了。大量的奇怪字符充斥了你的终端。这些字符会隐藏你输入的内容和要显示的字符,取而代之的是一些奇怪的符号。要清理掉这些屏幕上的垃圾可以使用以下方法。本文就将向你描述在 Linux/ 类 Unix 系统中如何真正清理终端屏幕或者重置终端。

 

clear 命令

clear 命令会清理掉屏幕内容,连带它的回滚缓存区一起也会被清理掉。(LCTT 译注:这种情况下你输入的字符回显也是乱码,不必担心,正确输入后回车即可生效。)

  1. $ clear

你也可以按下 CTRL+L 来清理屏幕。然而,clear 命令并不会清理掉终端屏幕(LCTT 译注:这句话比较难理解,应该是指的运行 clear 命令并不是真正的把以前显示的内容删掉,你还是可以通过向上翻页看到之前显示的内容)。使用下面的方法才可以真正地清空终端,使你的终端恢复正常。

 

使用 reset 命令修复显示

要修复正常显示,只需要输入 reset 命令。它会为你再初始化一次终端:

  1. $ reset

或者:

  1. $ tput reset

如果 reset 命令还不行,那么输入下面命令来让绘画回复到正常状态:

  1. $ stty sane

按下 CTRL + L 来清理屏幕(或者输入 clear 命令):

  1. $ clear

 

使用 ANSI 转义序列来真正地清空 bash 终端

另一种选择是输入下面的 ANSI 转义序列:

  1. clear
  2. echo -e "\033c"

下面是这两个命令的输出示例:

Animated gif 01:Fix Unix Console Gibberish Command Demo

Animated gif 01:Fix Unix Console Gibberish Command Demo

更多信息请阅读 sttyreset 的 man 页: stty(1),reset(1),bash(1)。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-02-25 15:26:12

Linux控制台字体

2012-05-22 15:37:10

2010-05-07 17:41:36

BSD Unix

2010-04-30 13:43:16

Unix系统

2011-07-11 09:17:21

控制台

2010-05-05 09:52:06

Unix BSD

2010-03-01 13:54:57

2010-01-06 09:04:47

Ubuntu服务

2014-03-21 11:08:17

Unix终端Unix

2010-05-10 11:05:26

BSD Unix

2019-09-12 10:25:39

系统WindowsLinux

2011-04-12 11:01:48

LinuxUnix桌面

2015-08-14 10:15:30

苹果更新

2010-01-21 09:22:59

2014-02-26 13:17:42

2012-05-04 08:25:35

LinuxUnix

2016-02-24 09:41:25

2010-08-26 11:54:47

DB2安装Linux

2016-12-13 10:22:54

Mac OS X显示服务

2013-11-08 10:16:25

苹果OS X更新
点赞
收藏

51CTO技术栈公众号