zoukankan      html  css  js  c++  java
  • [转]Unix stty 命令

    UNIX系统的命令很多,下面讲解stty. 该命令是一个用来改变并打印终端行设置的常用命令。

    1、stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。

    UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。

    可以在stty命令中使用-a查看当前注册终端的设置情况。

    $ stty -a

    Speed 9600 baud; line =0;intr= DEL;quit = ^;erase = ^h;kill =^U; eof = ^d;start=^q;stop=^s

    -parenb -parodd cs8 -cstopb -hupcl cread -clocal -loblk

    -ignbrk brkint ignpar -parmrk -inpck istrip -inlcr -igncr icrnl -iuclc

    ixon ixany -ixoff

    isig icanon -xcase echo echoe echok -echonl -noflsh

    opost -olcuc onlcr -ocrnl -onocr onlret ofill ofdel tab3

    需要时,这里显示的各种选择都可以重新配置。每种终端选项都有自己的名字(如ixon),其中大多数要么被设置要么被清除。在stty中相应选项前冠以负号(-),该选项被清除(禁止);如果无负号,该选项被设置。

    当希望修改各选择的值时,应在stty命令中正确书写相应选项。如命令

    $ stty -ixon

    将流控制设置为OFF,而命令

    $ stty ixon

    则将其置为ON。在stty命令中可以同时设置多个选项:

    $ stty ixon 1200

    该命令将终端设置为1200波特,并将流控制置为ON。

    当选项的列表较长时,应当小心所做的修改造成会话的混乱。典型的情况下,终端在设置不正确时完全不能工作。经常出现的现象是列输出显示或用户的击键 不能被shell正确接受。有时NEWLINE可能只显示或走一行但不回行,即用户输入的NEWLINE符不能被shell正确读取。建立新注册标识的过 程通常建立了正确的stty选项,在日常使用中很少需要修改。但如果变量TERM的设置不正确或用户希望使用新的终端或通信渠道(如局域网),则需要修改 stty的选项。

    如果你在某个机器中注册后终端操作正常,但后来因故发生了混乱,那么最佳的解决方法是先注销然后再向系统注册。因为注册时系统会重新设置相应选项。还有一种不太严格的解决办法是:

    $ stty sane

    命令sane最常出现在大多数终端的stty选项的集合中。它并不改变通信信道的速率,但当终端发生混乱时,通常能够产生有益的效果。命令 sane可能使全屏幕应用程序(如vi)不能正确工作,而且在设置了选项sane之后,如果不能解决任何问题,就应立即注销,然后再注册。如果终端在注册 后依然不能正确工作,用户的注册可能是不成功的。

    如果终端已经混乱,NEWLINE键不能结束命令行,可以用CTRL-J代替NEWLINE直到用户执行stty sane。此时,再用CTRL-J终止stty sane,使系统恢复正常。

    stty命令的几项主要选项功能为:

    选项parenb使终端进行奇偶校验,-parenb则是禁止校验;

    选项cs5、cs6、cs7和cs8分别将字符大小设为5、6、7和8比特;

    选项300、600、1200、2400、4800、9600和19200设置波特率;

    cstopb和-cstopb分别设置两个或一个停止位;

    tabs使系统使用制表符而不是空格序列,因此减少了输出量,选项-tabs仅使用空格,当终端不能正确处理制表符(tab)时应使用该项。

    2、stty还可用于控制一些具有特殊控制功能的键。

    1)在命令行下,禁止输出大写的方法

    stty iuclc #开启

    stty -iuclc #恢复

    2)在命令行下禁止输出小写

    stty olcuc #开启

    stty -olcuc#恢复

    3)打印出终端的行数和列数

    stty size

    4)改变ctrl+D的方法:

    系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用CTRL-C。

    stty eof "string"

    如:$ stty eof ^c

    按下CTRL-C就显示为^c. 可以直接输入控制字符,在其前面冠以反斜线和脱字符( ^)。系统默认是ctrl+D来表示文件的结束, 通过这种方法,可以改变!

    5)屏蔽显示

    stty -echo #禁止回显

    stty echo #打开回显

    测试方法:

    stty -echo;read;stty echo;read

    6)忽略回车符

    stty igncr #开启

    stty -igncr#恢复

    7)恢复使用退格键

    $ stty erase ^h

    注:按下Backspace就出现了^h,

    solaris系统默认是不支持Backspace,用这个命令改后就能正常使用了,方便多了。

    8) 可以设置一个会话期,使得当自己键入一个退格键时,系统用退格、删除和退格序列响应。此时可以看到用退格键覆盖的字符从显示中消失了,这样更符合计算机的惯例。使用命令

    $ stty echo

    可使这一特性设置为ON。

    终端方式及其管理是UNIX系统中比较困难的内容之一,系统的用户手册中有stty选项的全部清单。在进行尝试之前,应当查阅手册,仔细分析,以免给你的工作带来麻烦。

  • 相关阅读:
    Druid 使用 Kafka 将数据载入到 Kafka
    Druid 使用 Kafka 数据加载教程——下载和启动 Kafka
    Druid 集群方式部署 —— 启动服务
    Druid 集群方式部署 —— 端口调整
    Druid 集群方式部署 —— 配置调整
    Druid 集群方式部署 —— 配置 Zookeeper 连接
    Druid 集群方式部署 —— 元数据和深度存储
    Druid 集群方式部署 —— 从独立服务器部署上合并到集群的硬件配置
    Druid 集群方式部署 —— 选择硬件
    Druid 独立服务器方式部署文档
  • 原文地址:https://www.cnblogs.com/liul21cn/p/2961500.html
Copyright © 2011-2022 走看看