`
xiaoqiang6775
  • 浏览: 31638 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

stty 命令

 
阅读更多

 

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


1stty(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则是禁止校验;
选项cs5cs6cs7cs8分别将字符大小设为5678比特;
选项300600120024004800960019200设置波特率;
cstopb-cstopb分别设置两个或一个停止位;
tabs使系统使用制表符而不是空格序列,因此减少了输出量,选项-tabs仅使用空格,当终端不能正确处理制表符(tab)时应使用该项。

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

 

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选项的全部清单。在进行尝试之前,应当查阅手册,仔细分析,以免给你的工作带来麻烦。

分享到:
评论

相关推荐

    stty命令 修改终端命令行的相关设置

    UNIX系统为键盘的输入和终端的输出提供了重要的控制手段,可以通过stty命令对特定终端或通信线路设置选项。stty还可用于控制一些具有特殊控制功能的键。比如系统可能已经使用CTRL-D作为文件结束符,但你可能喜欢使用...

    Unix 命令全集

    stty 命令 stty-cxma 命令 style 命令 su 命令 subj 命令 sum 命令 survd 守护进程 suspendvsd 命令 svmon 命令 swap 命令 swapoff 命令 swapon 命令 swcons 命令 sync 命令 synclvodm 命令 syncvg 命令 syscall ...

    Linux使用stty显示修改终端行设置

    -a参数比单独的stty命令输出的终端信息更详细 -g,–save 以stty可读的方式打印当前所有设置 -F,–file=DEVICE 打开并使用特定的设备((DEVICE)以代替标准输入(stdin) –help 显示帮助并退出 –version 显示版本...

    UNIX环境高级编程

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272...

    UNIX环境高级编程_第二版中文

    18.6 stty命令  18.7 波特率函数  18.8 行控制函数  18.9 终端标识  18.10 规范模式  18.11 非规范模式  18.12 终端的窗口大小  18.13 termcap,terminfo和curses  18.14 小结  习题  第19章 ...

    UNIX环境高级编程 pdf格式

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    IT行业中必备技能之UNIX最佳学习资料

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    UNIX环境高级编程(PDF)

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    UNIX环境高级编程部分

    11.6 stty命令 11.7 波特率函数 11.8 行控制函数 11.9 终端标识 11.10 规范方式 11.11 非规范方式 11.12 终端的窗口大小 11.13 termcap, terminfo和 curses 11.14 小结 习题 第12章 高级I/O 12.1 引言 12.2 非阻塞I...

    UNIX环境高级编程(第二版中文)

    18.6 stty命令 522 18.7 波特率函数 523 18.8 行控制函数 524 18.9 终端标识 524 18.10 规范模式 529 18.11 非规范模式 532 18.12 终端的窗口大小 537 18.13 termcap,terminfo和curses 539 18.14 ...

    Unix高级编程 pdf

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272...

    unix环境编程电子书

    505 习题 505 第18章 终端I/O 507 18.1 引言 507 18.2 综述 507 18.3 特殊输入字符 512 18.4 获得和设置终端属性 516 18.5 终端选项标志 516 18.6 stty命令 522 18.7 波特率函数 523 18.8 行控制...

    UNIX环境高级编程和源代码

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    UNIX环境高级编程(中文版+英文版+源代码)

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    UNIX环境高级编程.pdf

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

    UNIX高级编程 计算机科学丛书

    11.6 stty命令 11.7 波特率函数 11.8 行控制函数 11.9 终端标识 11.10 规范方式 11.11 非规范方式 11.12 终端的窗口大小 11.13 termcap, terminfo和 curses 11.14 小结 习题 第12章 高级I/O 12.1 引言 12.2 非阻塞I...

    Unix环境高级编程电子书

    11.6 stty命令 258 11.7 波特率函数 259 11.8 行控制函数 260 11.9 终端标识 260 11.10 规范方式 263 11.11 非规范方式 266 11.12 终端的窗口大小 270 11.13 termcap, terminfo和 curses 271 11.14 小结 272 习题 ...

Global site tag (gtag.js) - Google Analytics