让Unix终端随用户而动

在Windows操作系统中 , 也可以对终端进行一些简单的设置 。如可以设置输入法的切换健等等 。但是在Windows操作系统中 , 这个终端的设置是非常少的 。而在Unix操作系统中 , 则可以设置终端的很多特性 , 以方便用户使用 。其实只要有心的用户 , 在实际工作中可能已经碰到过类似的现象 。如在有些Unix操作系统上 , 利用退格键可以删除一个字符;但是在有些操作系统上则不行 。即使在同一个版本的shell中也会遇到这种情况 。其实 , 这不是键盘有问题 , 而是由于终端的个性化设置所造成的 。有时候系统工程师需要调整Unix终端设置 , 以适应其自身的工作习惯 。Unix将终端当作文件来管理 , 所以其可以设置的参数有很多 , 基本上包含了跟终端有关的所有特性 。不过系统工程师实际上用的并不是很多 , 主要有如下几个方面的内容 。
【让Unix终端随用户而动】一、Ctrl C组合键能否退出应用程序 。
无论是Unix操作系统也好 , 是Linux操作系统也好 , 有时候会遇到命令无法响应的情况 。或者数 , 由于运行时间比较长 , 超过了系统工程师的忍耐时间 。此时 , 用户往往可以通过Ctrl C键来中断进程 , 中断命令的运行 。但是有些系统工程师用不惯这个组合键 。由于它们用惯了微软的产品 。在微软的记事本或者Word等版本文件中 , 这个命令是用来复制文本的 。现在要让他们用来中断命令行 , 他们就容易搞混 。为此有些系统工程师就喜欢将这个屏幕屏蔽掉 。在Unix系统中 , 这个功能是通过关键字intr来控制的 。如果要屏蔽这个功能 , 只需要将这个执行stty命令即可 。不过笔者建议 , 最好还是不用动这个关键字为好 。否则的话 , 到真的需要推出某个运行着的命令时 , 就无法强制退出了 。
如果需要重新启动这个命令 , 则可以利用stty intr ^c来设置 。其中Intr是控制这个功能的关键字 。^两个符号在系统中有特殊的含义 。在Unix中要设置某个终端关键字值 , 这里采用的是反斜杆 , 而不是等号或者其他符号 。另外 , ^在Unix系统中叫做脱字符 , 它在终端关键字设置时代表的是键盘上的ctrl键 。最后的字符c表示键盘上的c键 。不过需要注意的是 , 这是一个小心的字符c , 而不是大写的 。上面这个命令就是告诉操作系统 , 利用Ctrl c键作为中断符号 。
二、文件结尾符号的设置 。
在Unix操作系统中 , 有时候文本方式的操作要比图形化操作多的多 。特别是将Unix操作系统当作服务器来管理 , 往往只把操作系统启动当文本模式 , 而不是当图形化模式 。这不仅可以提高服务器的工作效率 , 而且还有利于提高其稳定性 。不过如果通过文本模式来管理操作系统 , 对于不少系统工程师来说 , 会带来一些挑战 , 因为都需要通过键盘来完成相关的操作 。如在写邮件时 , 一切操作都是靠键盘来完成 。在此时就会遇到一个文件 , 如何告诉操作系统已经将文本输入完成了呢?如在文本模式下书写邮件 , 需要告诉操作系统可以结束键盘的输入操作了 。如在利用cat命令创建文件时 , 也需要手工的告诉操作系统文件内容已经完成了 。此时 , 系统工程师可以使用Ctrl a键来告诉操作系统 。这个功能在系统中对应的关键字是eof(文件结尾符) 。系统工程师如果用不惯这个组合键的话 , 可以利用命令stty来进行更改 。如有些从微软转行过来的系统工程师 , 系统使用Ctrl e键来表示文件结束符 , 而不喜欢使用这个Ctrl a键(可能在微软产品中这是表示全选的含义吧) 。此时就可以利用这个命令来进行设置:stty eof ^e 。跟上面的命令非常相似 , 只是所采用的关键字不同而已 。不过在更改这些终端操作符号的时候 , 需要注意避免采用相同的终端操作符号 。否则的话 , 可能会出现一些莫名其妙的问题 。

推荐阅读